Hi guys,
I managed to build boost and the ogre dependencies with MinGW (following your very appreciated guide), but i fails to build Ogre (not static, I do a dynamic build because I have configured CMake in that way and I want it that way).
- boost: OK
Code: Select all
...failed updating 24 targets...
...skipped 40 targets...
...updated 4600 targets...
- ogre dependencies: OK
- ogre SDK: FAIL
Code: Select all
mingw32-make[2]: *** No rule to make target `x86)/NVIDIA Corporation/Cg/bin/cg.dll)', needed by `bin/Plugin_CgProgramManager.dll'. Stop.
mingw32-make[1]: *** [PlugIns/CgProgramManager/CMakeFiles/Plugin_CgProgramManager.dir/all] Error 2
mingw32-make: *** [all] Error 2
I have fixed this one by putting double quotes around Cg path (I installed it in the default path that has "Program files" and "NVIDIA Corporation" chunks with spaces) in the CMake config files, but suddenly I have now another problem:
Code: Select all
Linking CXX shared library ..\..\bin\RenderSystem_Direct3D11.dll
Creating library file: ..\..\lib\libRenderSystem_Direct3D11.dll.a
Warning: .drectve `/DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" ' unrecognized
D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86\DxErr.lib(e:/temp/193462/obj.x86fre/misc/dxerr/objfre/i386/dxerra.obj):(.text[_DXTraceA@20]+0xb
): undefined reference to `_chkstk'
D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86\DxErr.lib(e:/temp/193462/obj.x86fre/misc/dxerr/objfre/i386/dxerra.obj):(.text[_DXTraceA@20]+0x1
0): undefined reference to `__security_cookie'
D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86\DxErr.lib(e:/temp/193462/obj.x86fre/misc/dxerr/objfre/i386/dxerra.obj):(.text[_DXTraceA@20]+0x1
e6): undefined reference to `@__security_check_cookie@4'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [bin/RenderSystem_Direct3D11.dll] Error 1
mingw32-make[1]: *** [RenderSystems/Direct3D11/CMakeFiles/RenderSystem_Direct3D11.dir/all] Error 2
mingw32-make: *** [all] Error 2
Is that because DirectX SDK is compiled with VisualStudio? In that case how could I avoid the problem (without disabling DirectX 11 support in Ogre SDK 1.8.2)?
I thought that because I see some name mangling in the binary references, but it may be caused by another problem, I don't have much clues...
Did you manage to compile Ogre 1.8.2 with DirectX 11 support? Should I disable it to avoid the problem (Direct3D 9 was compiled and linked fine though)?
Maybe a static build will avoid the problem? In that case, why? And always in that case, how can I use a statically compiled Ogre SDK? Will be everything in a single DLL or I have to compile my final project with particular configurations to "embed" Ogre static libs inside the final executable?
Thank you in advance for any advice you'll give!
Cheers