Ogre-next with Visual Studio 2019, SDL Memset, CL.exe error

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_dir\src\SDL2\CMakeLists.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 Studio\2019\Professional\VC\Tools\MSVC\14.24.28314\bin\HostX64\x64\CL.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.

  1. Open your project, then select “Project” > “appname Properties…“.
  2. Expand “Configuration Properties” > “C/C++” > “Precompiled Headers“.
  3. Set “Precompiled Header” to “Not Using Precompiled Headers“.

Seems okay now;)

 ========== Build: 16 succeeded, 0 failed, 4 up-to-date, 2 skipped ==========

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章