編譯64位的Delta3d 需要手動編譯其所有依賴的庫,具體到Delta3d官網查詢,或者直接下載打包好的依賴庫源代碼進行編譯
VS2010 編譯 注意事項:
1. CEGUI 的 渲染OpenGL中的 glew.c 用 其依賴庫中的glew.c 代替。2. 編譯CEGUI的依賴庫PCE用靜態庫,因爲在CEGUI中的預定義宏中定義了PCRE_STATIC
3. 編譯OSG中的 PNG 、JPEJ 、TIff 用官網下載下來的庫(依賴庫)(靜態庫)
4. 編譯STAGE中 爲了支持xerces,把語言中支持w_char 選擇“是”
5. 編譯osg的png支持插件用libpng13庫 即:用OSG官方提供的庫
6. 編譯用osg 中zip支持 用zlib1.lib 即:用OSG官方提供的庫
7. 編譯CEGUI的時候 把cegui.lua 中的tinsert(pkg_table.XMLParserModules, "XercesParser") 前後if語句去掉,否則可能不能生成 CEGUIXercesParser 模塊
8. alut 使用freealut
9. pcre 用cmake 單獨編譯 ,讓其支持utf
10. SILLY 要用OSG 中的下載的庫(png,jpeg ,zlib)
11. 在SimCore中的CMakeModules->FindDelta3D.cmake文件中添加list(APPEND CMAKE_FRAMEWORK_PATH ${DELTA_DIR}/BUILD_VS2010)可以方便使用delta3d 生成的lib庫
gdal 編譯:
- 1. 打開 "Visual Studio x64 Win64 " cd 到 GDAL的根目錄 輸入” nmake -f makefile.vc WIN64=TRUE”
- 2. 在GDAl根目錄找到nmake.opt 修改GDAL_HOME = "E:\Delta3D\ExtDep\gdal-1.9.1\win64"(將會安裝到這個目錄裏)
- 3.編譯完後,執行命令
nmake /f makefile.vc WIN64=TRUE devinstall
8. 編譯osg 的 openthreads 的時候,把“build->build_openthreads_with_QT "去掉,不用qt的thread
VS2013注意事項:
1. 在編譯 pal 的時候 如果出現 "error LNK2038: 檢測到“RuntimeLibrary”的不匹配項: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”"
是因爲pal的依賴庫 bullet用的是(release 下MT,debug 下MTd) ,而libpal_bullet 用的是(release下MD ,debug下MDd),這時可以把bullet的庫改爲多線程DLL(/MD) (屬性->c++->代碼生成)
2. 在編譯
可以在CmakeLists.txt中FindPACKAGE(OSG)之前加上 SET(OSG_DIR "E:/Delta3D_VS2013_X64/delta3d/ext" CACHE PATH "The root of the OSG")
3. 編譯qt 如果出現問題可以參考 http://stackoverflow.com/questions/18080625/qt-4-8-visual-studio-2013-compiling-error
4. gdal 可以直接用osg依賴庫自待的(是gdal_i.lib,而不是gdal.lib)