VS2017 64位 osg+osgworks+bullet3+osgbullet编译教程(超详细、附生成的库(文末尾自取))

VS2017 64位 osg+osgworks+bullet3+osgbullet编译教程(超详细、附生成的库(在文末尾))

最近因为工作需要编译了osgbullet,网上教程比较乱,没有一个系统的编译说明,我结合网上资料,进行编译,梳理出来本篇教程,超详细的。

下载源码:

1、OSG源码(OpenSceneGraph-3.4.1 release 稳定版本)。
2、OSG第三方依赖库(3rdParty_VS2017_v141_x64_V11)。
注:第三方库版本必须与Visual Studio版本相对应,本文所用只适用于Visual Studio2017 x64,,平台工具集版本为v141的情况下。
3、数据包(OpenSceneGraph-3.4 standard dataset)。
4、osgworks下载地址:https://github.com/mccdo/osgworks
5、bullet3下载地址:https://github.com/bulletphysics/bullet3
6、osgbullet下载地址:https://github.com/mccdo/osgbullet

编译依赖关系如下osgbullet依赖osgworks和bullet3,osgwords依赖osg,所以编译顺序为osg->osgworks->bullet3->osgbullet

一、编译osg

编译osg参考:路人甲JIA的这篇,按照步骤操作就行了,没有什么需要特别注意的地方:
https://blog.csdn.net/u013719339/article/details/78415685

二、编译osgworks

1、创建目录osgworks作为根目录,目录下创建三个文件夹osgworks-source、buildx64、install分别为源码目录,cmake生成工程目录,install安装目录;
2、打开cmake-gui,源码目录选择osgworks-source目录,生成目录选择buildx64,,勾选Advanced
在这里插入图片描述

3、点击Configure,弹出下图配置窗口,选择vs2017,平台选择x64,点Finished
在这里插入图片描述

4、等待结束,下边状态显示Configuring done。
在这里插入图片描述

5、修改CMAKE_INSTALL_PREFIX的值为步骤1中install路径。点击Generate按钮。
在这里插入图片描述

6、等待生成结束,状态显示Generating done,即结束CMAKE,可以关掉cmake-gui了。
在这里插入图片描述

7、找到osgworks/buildx64目录,使用vs2017打开ALL_BUILD.vcxproj
在这里插入图片描述

8、点击菜单栏》生成》批生成,勾选ALL_BUILD debug和ALL_BUILD Release,然后点生成按钮;
在这里插入图片描述

9、注意:此过程中报错:mgv.mergeGeode(geode)
解决方法:

在报错的文件/osgwTools/GeometryModifier.cpp中添加头文件#include <osg/Group>
将mgv.mergeGeode(geode);修改为mgv.mergeGroup(*geode.asGroup());

10、生成结束,再次点击菜单栏》生成》批生成,取消勾选ALL_BUILD debug和ALL_BUILD Release,勾选INSTALL Debug和INSTALL Release,然后点生成按钮。
在这里插入图片描述

该过程很快,该步骤是将生成的bin文件、lib文件、share文件和include文件安装到步骤(1)中我们创建的install目录下
在这里插入图片描述

至此,osgworks的编译工作结束。

三、编译bullet3

1、创建目录bullet3文件件下创建三个文件夹bullet3-2.89、buildx64、install分别为源码目录,cmake生成工程目录,install安装目录;
2、打开cmake-gui,源码目录选择bullet3/bullet3-2.89,构建目录选择bullet3/buildx64,勾选Advanced;
在这里插入图片描述

3、点击Configure,弹出下图配置窗口,选择vs2017,平台选择x64,点Finished
在这里插入图片描述

4、等待结束,下边状态显示Configuring done。
在这里插入图片描述

5、修改CMAKE_INSTALL_PREFIX的值为(1)中install路径。点击Generate按钮。
6、等待生成结束,状态显示Generating done,即结束CMAKE,可以关掉cmake-gui了。
在这里插入图片描述

7、找到bullet3/buildx64目录,使用vs2017打开ALL_BUILD.vcxproj
8、在项目树上,选择一个项目上,右键》属性》C/C++》代码生成》运行库:debug版本修改为:多线程调试 DLL (/MDd);Release版本修改为:多线程DLL(/MD)(不做此处修改的话,之后的编译会有各种冲突,因为之后的工程全是MDd的)。将所有项目都做此种修改。
在这里插入图片描述

9、点击菜单栏》生成》批生成,勾选ALL_BUILD debug和ALL_BUILD Release,然后点生成按钮??
在这里插入图片描述

生成过程可能需要1个小时左右
10、再次点击菜单栏》生成》批生成,取消勾选ALL_BUILD debug和ALL_BUILD Release,勾选INSTALL Debug和INSTALL Release,然后点生成按钮。
在这里插入图片描述

该过程很快,该步骤是将生成的lib文件和include文件安装到步骤(1)中我们创建的install目录下
在这里插入图片描述

至此,结束bullet3的编译。

四、编译osgbullet

1、首先创建工作目录,osgbullet文件夹作为根目录,创建三个文件夹:osgbullet-master、buildx64、insall,分别为源码目录、生成目录、安装目录;
在这里插入图片描述

2、打开cmake-gui,选择源码目录选择步骤1中osgbullet/osgbullet-master,构建目录选择步骤1中osgbullet/buildx64
在这里插入图片描述

3、点击Configure,弹出下图配置窗口,选择vs2017,平台选择x64,点Finished
在这里插入图片描述

4、本次生成会报错,需要手动修改以下内容:
(1)手动配置osgWorks_DIR路径为F:/埃斯顿/osgworks/install/lib
在这里插入图片描述

(2)配置bullet路径(如下图)
在这里插入图片描述

修改之后再次点击Configure。
5、等待结束,下边状态显示Configuring done。
在这里插入图片描述

6、修改CMAKE_INSTALL_PREFIX的值为(1)中install路径。点击Generate按钮
在这里插入图片描述

7、等待生成结束,状态显示Generating done,即结束CMAKE,可以关掉cmake-gui了。
在这里插入图片描述

8、找到bullet3/buildx64目录,使用vs2017打开ALL_BUILD.vcxproj
在这里插入图片描述

9、点击菜单栏》生成》批生成,勾选ALL_BUILD debug和ALL_BUILD Release,然后点生成按钮
在这里插入图片描述

10、此过程会有报错:TriangleFunctor(293): error C2660: “osgbCollision::ComputeTriMeshFunc::operator ()”: 函数不接受 3 个参数
解决:在所有报错的this->operator()开头的语句末尾增加一个参数false
例如:

this->operator()(*(vptr),*(vptr+1),*(vptr+2));
改为:this->operator()(*(vptr),*(vptr+1),*(vptr+2),false);

11、生成结束,再次点击菜单栏》生成》批生成,取消勾选ALL_BUILD debug和ALL_BUILD Release,勾选INSTALL Debug和INSTALL Release,然后点生成按钮。
在这里插入图片描述

该过程很快,该步骤是将生成的bin文件、lib文件、share文件和include文件安装到步骤(1)中我们创建的install目录下
在这里插入图片描述

至此,结束osgbullet的编译。

五、合并生成的库

创建physicalEngine文件夹,将步骤一、二、三、四的install目录中文件全部拷贝到physicalEngine文件中。
做好这些好,下次要用时你只要将physicalEngine下的include和lib两个文件包含进来,就可以把所有要用的库文件都包含进去了,然后添加依赖项,最后把这些dll拷贝到工程目录下。这样就可以运行了。

感谢:主要参考
1、编译OSG WIN10系统下OSG+VS2017编译及运行
https://blog.csdn.net/u013719339/article/details/78415685
2、给osg配置bullet物理引擎
https://blog.csdn.net/lh1162810317/article/details/17475297
3、bullet安装之——windows下的安装与VS开发
https://blog.csdn.net/m0_43436602/article/details/104630520
4、Bullet、osgWorks、osgBullet编译及配置(适用于最新的OSG
https://www.dazhuanlan.com/2019/12/27/5e0556c22585e/

我编译好的库:

VS版本:VS2017 64位
osg版本:3.6
bullet版本:bullet3-2.89
osgworks和osgbullet都是最新版

下载链接:https://download.csdn.net/download/weixin_42962516/13720558

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老王敲代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值