Follw the instructions from:
https://ogrecave.github.io/ogre-next/api/2.1/_setting_up_ogre_windows.html
Btw, the screenshots and the instructions dont' really match, it is a little bit confusing.
So before we can build ogre,we need to build dependencies. For me, SL2 complained missing memset and some stuff,it's actually a missing dll, found this on the forum which solved my problem.
2.SDL2
And then SDL2 throws some external symbol not found errors at link time for debug builds.
I am sure there is a better way to this but i solved it by adding the lines below in ogredeps_repo_dirsrcSDL2CMakeLists.txt
CODE: SELECT ALL
if(MSVC)
list(APPEND EXTRA_LIBS vcruntimed ucrtd msvcrtd)
endif()
At around line 1250 in if(SDL_SHARED) block right before
CODE: SELECT ALL
set(_INSTALL_LIBS "SDL2" ${_INSTALL_LIBS})
target_link_libraries(SDL2 ${EXTRA_LIBS} ${EXTRA_LDFLAGS})
lines.
Depedencies are fine now.
Then i generated the ogre solution.
When i compile, got this issue
1>INTERNAL COMPILER ERROR in 'C:Program Files (x86)Microsoft Visual Studio2019ProfessionalVCToolsMSVC14.24.28314inHostX64x64CL.exe'
1> Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
1>OgreMemoryNedPooling.cpp
1>cl : command line error D8040: error creating or communicating with child process
1>Done building project "OgreMain.vcxproj" -- FAILED.
Something to do with the compiler.
If we disable the precompiled header, it can compile.
- Open your project, then select “Project” > “appname Properties…“.
- Expand “Configuration Properties” > “C/C++” > “Precompiled Headers“.
- Set “Precompiled Header” to “Not Using Precompiled Headers“.
Seems okay now;)
========== Build: 16 succeeded, 0 failed, 4 up-to-date, 2 skipped ==========