1. 下载文件
主要用到4个文件
- 1)OSG-3.4.1源码
- 2)OSG第三方依赖库
- 3)OSG示例数据
- 4)cmake-3.17
我已经准备好了,大家可以自行下载。下载路径:
- 链接:https://pan.baidu.com/s/1E3YESh0T9KPlJJe2EDmIvA
- 提取码:gvbk
2. 文件夹整理
为了方便编译,在硬盘下建立一个OSG文件夹,然后分别建立如下5个文件夹:
- 1)OSG-3.4.1: 用于存放解压后的 osg-3.4.1.zip 文件
- 2)3rdParty: 用于存放解压后的 3rdParty_VS2017_v141_x64_V11_full.7z 文件
- 3)Data: 用于存放解压后的 OpenSceneGraph-Data-3.4.0.zip
- 4)build: 用于存放编译的过程文件
- 5)install: 用于存放安装文件
3. 配置cmake
打开cmake-gui,将OSG-3.4.1中的CMakeLists.txt文件直接拖放到CMake界面
3.1 修改build路径
将“Where to build the binaries”设置为上面设置的build文件夹路径
3.2 修改install路径
将“CMAKE_INSTALL_PREFIX ”的值设置为上面设置的install文件夹路径
3.3 修改ACTUAL_3RDPARTY_DIR值
修改 ACTUAL_3RDPARTY_DIR 的值为前面配置好的3rdParty的目录路径。
3.4 取消勾选BUILD_OSG_EXAMPLE
如果勾选了这个选项,vs2017会默认“ALL_BUILD”并“INSTALL”这些例子。但是CMakeLists.txt中没有配置INSTALL来安装这些example的指令,因此会在install过程中失败。如果想build相关的example,可以等Install过程完成之后,再重新配置,专门build相关的example.
3.5 删除所有的nvtt配置信息
上面几个内容的value值全部清空。他们是用于配置nvtt插件的。我在安装时,总会在nvtt插件这里报错。考虑到nvtt插件的必要性并不大,这里建议直接不安装这个插件。
4. cmake编译
依次执行Configure(直至所有cmake配置项变成白色)-->Generate-->Open Project,用VS2017打开项目。
5. VS2017编译
先生成ALL_BUILD,然后生成INSTALL
6. 安装成功测试
6.1)将Data路径添加为环境变量
添加系统环境变量 OSG_FILE_PATH,值为前面的Data的目录(osg\Data):
6.2)把bin目录添加到环境变量
需要把以下三个路径添加到系统环境变量path中
- F:\3rd_party\osg\3rdParty\bin(这里面有些dll依赖项没有被拷贝到osg/install的文件夹中,为了避免osg的exe程序报错,所以把该路径添加到环境变量中。也可以把该路径下的dll文件全部拷贝到osg/install/bin中)
- F:\3rd_party\osg\install\bin
- F:\3rd_party\osg\install\share\OpenSceneGraph\bin
6.3)(重启后)打开cmd进行测试
测试1:cmd中输入osgversion
该测试调用生成的 install/bin/osgversion.exe,返回OSG的版本。因为前面已经将install/bin/添加为系统变量了,所以这里可以直接输入osgversion进行测试。
测试2:cmd中输入osglogo
该命令调用了 osg\install\share\OpenSceneGraph\bin\osglogo.exe,显示osg的logo图片。因为前面已经将osg\install\share\OpenSceneGraph\bin添加为系统变量了,所以这里可以直接输入osglogo进行测试。
测试3:cmd中输入 osgviewer cow.osg
该命令调用了 osg/install/bin/osgviewer.exe, 去打开osg/Data/cow.osg。因为osg/install/bin和osg/Data都已经添加为系统变量,所以这里可以省略全局路径。
参考博客:
【OSG】OSG环境部署 OSG3.6.5+vs2017+win10_x64(超详细)-CSDN博客