win10 + vs2017 + cmake3.17编译OSG-3.4.1

发布时间:2023年12月19日

1. 下载文件

主要用到4个文件

  • 1)OSG-3.4.1源码
  • 2)OSG第三方依赖库
  • 3)OSG示例数据
  • 4)cmake-3.17

我已经准备好了,大家可以自行下载。下载路径:

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/binosg/Data都已经添加为系统变量,所以这里可以省略全局路径。

参考博客:

【OSG】OSG环境部署 OSG3.6.5+vs2017+win10_x64(超详细)-CSDN博客

文章来源:https://blog.csdn.net/Strive_For_Future/article/details/134990753
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。