1、OSG源码编译[Windows10+Ubuntu]

1、OSG相关资源的下载

OSG相关资源有osg源码、依赖的第三方库和相关数据资源。在编译的时候需要osg源码和第三方库,数据资源中包括一些3D模型资源等。
在这里插入图片描述

2、Linux[Ubuntu]平台下的源码编译

在Ubuntu中编译osg需要下载OpenSceneGraph源码到磁盘中,依赖则通过命令下载安装,此外数据资源也先下载到磁盘中等待操作。操作过程如下:
在这里插入图片描述
第一步:下载依赖库

sudo apt build-dep openscenegraph

通过上述命令可能会出现源不存在的问题,因此需要手动添加源。这个源的写法根据不同的系统版本等有不同的写法,如果还有问题就是写法不对。

sudo vim /etc/apt/sources.list
sudo apt update  # 更新

在这里插入图片描述
第二步:创建一个build,使用cmake构建项目,然后使用make生成对应的库
在这里插入图片描述

cd build
cmake ../OpenSceneGraph-OpenScenGraph-3.6.5/
make

在最后生成(make)osgPlugins部分的时候,这里有很多部分,其中的ffmpeg和RestHttpDevice两个东西出错,是版本的问题,为了快速完成且基本上用不到,就将其从编译中剔除。如下图是将ffmpeg剔除。[从cmakelists文将中将其取消]
在这里插入图片描述
在这里插入图片描述
再次cmake …和make即可。

最后一步:安装osg动态库

sudo make install  # 【当前工作目录在build中】

会在usr/local目录中安装osg对应的库文件数据,其中bin是相关的可执行程序;include则是对应的头文件,给开发者使用;lib目录则是对应的动态库文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
程序测试:
之前的数据资源,可以将其作为环境变量进行设置,很方便使用。也可以不设置,只是要很长的路径。如下程序中的cow.osg,可以不用使用绝对或者相对路径。因为osg的库安装到了系统默认会搜索的路径,所以不需要执行头文件目录和库目录,只需要说明需要链接哪些库即可。
在这里插入图片描述

3、Windows10系统编译osg3.6.5

这里使用VS2022+cmake3.28
第一步:将最开始的三个资料下载到本地。
在这里插入图片描述
第二步:打开cmake的ui界面,如下图进行设置,然后点击configure。
在这里插入图片描述
然后会出现界面,做以下操作
在这里插入图片描述
在这里插入图片描述
第三步:生成之后可以到build目录中打开OpenSceneGraph.sln,使用VS2022
然后点击VS2022顶部“生成”菜单项中的批生成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成过程很长,可能需要几个小时,如果只需要debug或者release的一部分也可以不全部生成。
生成过程中可能会报错,我遇到的是关于MFC相关的,需要在Examples osgviewerMFC项目中的stdafx.h文件中添加如下代码

#define _WIN32_WINNT 0x0A00
#define _ATL_APARTMENT_THREADED
#define _USING_V110_SDK71_
#define _ATL_XP_TARGETING

在这里插入图片描述

并在所在工程(一共两个,分别是 Examples osgsimplegl3 和 Examples osgviewerMFC )的属性配置(Debug和Realse都需要)里,添加

_WIN32_WINNT=0x0A00
NTDDI_VERSION= 0x06030000
WINVER=0x0A00

最后生成即可成功。
在这里插入图片描述
**第四步:**生成了之后,再次回到批生成中,选择INSTALL,如下图,安装之后会在之前cmake中设置的安装目录中输出相关数据。
在这里插入图片描述
在这里插入图片描述
其中的include、bin和lib可以考虑设置为环境变量,方便编程时进行引用。

  • 25
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VVPU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值