一、准備工作
下載需要的材料:
1. OSG穩定版源代碼, 3.6.3版本
2. 第三方庫,選擇VS2017對應的版本 https://download.osgvisual.org/3rdParty_VS2017_v141_x64_V11_full.7z [98.6 MB]
3. OSG3.4的數據包,OpenSceneGraph-Data-3.4.0.zip
4. CMake 編譯工具
二、編譯准備
建立文件樹,如下:
1. 在D盤建立一個OSG的文件夾,再新建四個子文件夾
2. D:\OSG\OpenSceneGraph : 源碼解壓於此
3. D:\OSG\3rdParty : 第三方依賴庫解壓於此
4. D:\OSG\data : 數據包解壓於此
5. D:\OSG\build : 准備存放編譯后的庫和頭文件等
三、編譯准備
1. 打開CMAKE,運行CMake-gui.exe, 選擇2017 Win64,填好源碼路徑和輸出結果路徑
2. 修改參數
找到ACTUAL_3RDPARTY_DIR,將其值設置為D:/OSG/3rdParty;
找到BUILD_OSG_EXAMPLES,值設置為ON,
找到CMAKE_INSTALL_PREFIX,值為第一步中的結果路徑D:/OSG/build。
然后再點config,進行配置。
3. 點Generate,結束。
四、編譯
1. 在路徑 D:\OSG\build 中找到OpenSceneGraph.sln,雙擊 在VS2017中打開
2. 生成--批生成--選擇項目ALL_BUILD的Debug和Release兩個版本,生成
完成后再對INSTALL也進行生成編譯,記得取消上一步選的勾
五、環境變量
1. 添加系統變量, 變量名:OSG_FILE_PATH,變量值:D:\OSG\data
2. 在PATH變量中添加第四部結果目錄中的bin路徑:D:\OSG\build\bin
3. 配置完成后,可以cmd在命令框中輸入 osgversion 會出現版本信息
4. 在命令框中輸入 osglogo 或者 osgviewer cow.osg ,如果出現 “計算機丟失zlib.dll”問題,在第三方庫文件夾下 D:\OSG\3rdParty\x64\bin 找到 zlib.dll 和 zlibd.dll 復制到 D:\OSG\build\bin 中
六、新建OSG項目
1. 在VS2017下新建C++控制台程序
2. 右鍵項目,選擇“屬性”,平台選擇x64,VC++目錄中,包含目錄添加 include路徑:D:\OSG\build\include; 庫目錄添加lib路徑:D:\OSG\build\lib;
3. 選擇左側“C/C++”中的“預處理器”,在預處理器中增加WIN32;
4. 選擇左側“鏈接器”中的“輸入”,在附加依賴項添加:
Debug項目添加下面:
OpenThreadsd.lib
osgd.lib
osgDBd.lib
osgUtild.lib
osgGAd.lib
osgViewerd.lib
osgTextd.lib
-----------------------------
Release 版本添加下面:
OpenThreads.lib
osg.lib
osgDB.lib
osgUtil.lib
osgGA.lib
osgViewer.lib
osgText.lib
5. 設置完成后,關閉屬性對話框,頂部選擇“x64”, 並輸入一下測試代碼:
#include "stdafx.h" #include <osgViewer/Viewer> #include <osgDB/ReadFile> int main(int argc, char **argv) { osgViewer::Viewer viewer; viewer.setSceneData(osgDB::readNodeFile("cow.osg")); return viewer.run(); }
6. 運行,會出現牛!!!配置成功!!!
七 配置Qt到VS2017中
1. 安裝完插件后,出現問題
解決辦法,卸載掉插件vs addin,重新下載舊版的插件安裝。