一、准备工作
下载需要的材料:
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,重新下载旧版的插件安装。