windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)
2014-03-01 20:40
429 查看
平台:Win7,VS2010
1. Bullet库的组织
下图是Bullet_User_Manual中的截图:
从中可见,Bullet的LinearMath(线性数学模块),其上是BulletCollision(碰撞检测模块),然后BulletDynamics(刚体模拟模块)和BulletSoftBody(可变形体模拟模块)建立在BulletCollision之上,另外还有可选的导入导出插件和多线程模块。LinearMath、BulletCollision、BulletDynamics、BulletSoftBody是核心模块,其他则是可选的(当你需要插件或使用多线程时使用)。我们这里只编译核心模块,其实LinearMath、BulletCollision、BulletDynamics、BulletSoftBody对应4个.lib文件(库文件)。
鉴于Bullet的模块化组织,用户可以分层次的使用Bullet:
Collision detection,这时只需包含LinearMath、BulletCollision库;
Rigid body dynamics,需包含LinearMath、BulletCollision、BulletDynamics库;
Soft body dynamics,包含全部4个LinearMath、BulletCollision、BulletDynamics、BulletSoftBody库。
对于我们而言,可能用到可变形体,所以要编译全部4个模块。
2. Bullet安装指导
这是高层指导:
下载bullet-2.82-r2704.zip,解压(r后面的数字可能不同);
运行“../build/vs2010.bat”,生成VS2010工程;
用VS2010打开“../vs2010/0BulletSolution.sln”;
对LinearMath、BulletCollision、BulletDynamics、BulletSoftBody,分别在Debug和Release配置下编译(更多版本及解释见这里);
将“../lib”下的8个.lib文件,以及“../src”下所有.h文件,都拷贝出来即构成安装包。
后面第4节会step by step讲解这个过程,并配有截图。下一节将如何配置Bullet工程。
3. Bullet工程配置(使用Bullet库)
要使用Bullet,需要:
添加包含目录,将上一节拷贝的.h文件所在目录添加到工程的包含目录(在所有配置下);
添加库目录,将上一节拷贝的.lib文件所在目录添加到工程库目录(在所有配置下);
引用库,添加对.lib文件的引用(根据使用层次添加所需.lib文件,Debug和Release分别设置);
包含头文件,在代码中包含“btBulletDynamicsCommon.h”。
注:
添加包含目录的两种方法:
“项目属性 >> 配置属性 >> VC++目录 >> 包含目录”
“项目属性 >> 配置属性 >> C/C++ >> 常规 >> 附加包含目录”。
添加库目录的两种方法:
“项目属性 >> 配置属性 >> VC++目录 >> 库目录”
“项目属性 >> 配置属性 >> 链接器 >> 常规 >> 附加库目录”。
引用库的两种方法:
代码#pragma comment (lib, "xxx.lib")(用#ifdef _DLL和#ifdef _DEBUG);
“项目属性 >> 配置属性 >> 链接器 >> 输入 >> 附加依赖项”。
.lib文件版本问题参见我的另一篇文章:配置自己的OpenGL库,glew、freeglut库编译,库冲突解决。
4. Step by step
咱们从生成的.sln文件开始吧:
打开0BulletSolution.sln:
分别在Debug和Release配置下生成上面截图中的4个项目。更多版本见:配置自己的OpenGL库,glew、freeglut库编译,库冲突解决。注意,Bullet工程里的Debug和Release都是使用静态CRT(我们一般用的是DLL CRT),所以,有必要多编译2个版本。编译后得到.lib文件,可以根据编译版本自行改文件名:
构建安装包如下:
参考文献:
Bullet 2.82 Physics SDK Manual(在下载的Bullet包中)
http://bulletphysics.org/mediawiki-1.5.8/index.php/Creating_a_project_from_scratch
1. Bullet库的组织
下图是Bullet_User_Manual中的截图:
从中可见,Bullet的LinearMath(线性数学模块),其上是BulletCollision(碰撞检测模块),然后BulletDynamics(刚体模拟模块)和BulletSoftBody(可变形体模拟模块)建立在BulletCollision之上,另外还有可选的导入导出插件和多线程模块。LinearMath、BulletCollision、BulletDynamics、BulletSoftBody是核心模块,其他则是可选的(当你需要插件或使用多线程时使用)。我们这里只编译核心模块,其实LinearMath、BulletCollision、BulletDynamics、BulletSoftBody对应4个.lib文件(库文件)。
鉴于Bullet的模块化组织,用户可以分层次的使用Bullet:
Collision detection,这时只需包含LinearMath、BulletCollision库;
Rigid body dynamics,需包含LinearMath、BulletCollision、BulletDynamics库;
Soft body dynamics,包含全部4个LinearMath、BulletCollision、BulletDynamics、BulletSoftBody库。
对于我们而言,可能用到可变形体,所以要编译全部4个模块。
2. Bullet安装指导
这是高层指导:
下载bullet-2.82-r2704.zip,解压(r后面的数字可能不同);
运行“../build/vs2010.bat”,生成VS2010工程;
用VS2010打开“../vs2010/0BulletSolution.sln”;
对LinearMath、BulletCollision、BulletDynamics、BulletSoftBody,分别在Debug和Release配置下编译(更多版本及解释见这里);
将“../lib”下的8个.lib文件,以及“../src”下所有.h文件,都拷贝出来即构成安装包。
后面第4节会step by step讲解这个过程,并配有截图。下一节将如何配置Bullet工程。
3. Bullet工程配置(使用Bullet库)
要使用Bullet,需要:
添加包含目录,将上一节拷贝的.h文件所在目录添加到工程的包含目录(在所有配置下);
添加库目录,将上一节拷贝的.lib文件所在目录添加到工程库目录(在所有配置下);
引用库,添加对.lib文件的引用(根据使用层次添加所需.lib文件,Debug和Release分别设置);
包含头文件,在代码中包含“btBulletDynamicsCommon.h”。
注:
添加包含目录的两种方法:
“项目属性 >> 配置属性 >> VC++目录 >> 包含目录”
“项目属性 >> 配置属性 >> C/C++ >> 常规 >> 附加包含目录”。
添加库目录的两种方法:
“项目属性 >> 配置属性 >> VC++目录 >> 库目录”
“项目属性 >> 配置属性 >> 链接器 >> 常规 >> 附加库目录”。
引用库的两种方法:
代码#pragma comment (lib, "xxx.lib")(用#ifdef _DLL和#ifdef _DEBUG);
“项目属性 >> 配置属性 >> 链接器 >> 输入 >> 附加依赖项”。
.lib文件版本问题参见我的另一篇文章:配置自己的OpenGL库,glew、freeglut库编译,库冲突解决。
4. Step by step
咱们从生成的.sln文件开始吧:
打开0BulletSolution.sln:
分别在Debug和Release配置下生成上面截图中的4个项目。更多版本见:配置自己的OpenGL库,glew、freeglut库编译,库冲突解决。注意,Bullet工程里的Debug和Release都是使用静态CRT(我们一般用的是DLL CRT),所以,有必要多编译2个版本。编译后得到.lib文件,可以根据编译版本自行改文件名:
构建安装包如下:
参考文献:
Bullet 2.82 Physics SDK Manual(在下载的Bullet包中)
http://bulletphysics.org/mediawiki-1.5.8/index.php/Creating_a_project_from_scratch
相关文章推荐
- 使用hql查询---6.4.9: order by子句
- 基于struts2的校验示例
- 谷歌浏览器exe文件官方下载站点
- 使用hql查询---6.4.8: 表达式
- java eclipse安装和android环境安装
- centoros 环境安装
- 使用hql查询---6.4.7: HQL查询的where子句
- GCD Block最简单的用法
- 使用hql查询---6.4.6: 多态查询
- 解决X64操作系统PL/SQL连接报错问题 make sure you have the 32 bits oracle client installed
- 第五周:JDBC数据库访问技术
- OpenGL: 点阵显示生日快乐小程序
- 使用hql查询---6.4.5: HQL查询的聚集函数
- Trie字典树
- 使用hql查询---6.4.4: HQL查询的select子句
- I/O函数
- tomcat如何加密
- CString与string、char*的区别和转换
- 使用hql查询---6.4.3: 关联和连接
- Cacti安装