平台: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:

  1. Collision detection,这时只需包含LinearMath、BulletCollision库;
  2. Rigid body dynamics,需包含LinearMath、BulletCollision、BulletDynamics库;
  3. Soft body dynamics,包含全部4个LinearMath、BulletCollision、BulletDynamics、BulletSoftBody库。

对于我们而言,可能用到可变形体,所以要编译全部4个模块。

2. Bullet安装指导

这是高层指导:

  1. 下载bullet-2.82-r2704.zip,解压(r后面的数字可能不同);
  2. 运行“../build/vs2010.bat”,生成VS2010工程;
  3. 用VS2010打开“../vs2010/0BulletSolution.sln”;
  4. LinearMathBulletCollisionBulletDynamicsBulletSoftBody,分别在DebugRelease配置下编译(更多版本及解释见这里);
  5. 将“../lib”下的8个.lib文件,以及“../src”下所有.h文件,都拷贝出来即构成安装包。

后面第4节会step by step讲解这个过程,并配有截图。下一节将如何配置Bullet工程。

3. Bullet工程配置(使用Bullet库)

要使用Bullet,需要:

  1. 添加包含目录,将上一节拷贝的.h文件所在目录添加到工程的包含目录(在所有配置下);
  2. 添加库目录,将上一节拷贝的.lib文件所在目录添加到工程库目录(在所有配置下);
  3. 引用库,添加对.lib文件的引用(根据使用层次添加所需.lib文件,Debug和Release分别设置);
  4. 包含头文件,在代码中包含“btBulletDynamicsCommon.h”。

注:

添加包含目录的两种方法:

  1. “项目属性 >> 配置属性 >> VC++目录 >> 包含目录”
  2. “项目属性 >> 配置属性 >> C/C++ >> 常规 >> 附加包含目录”。

添加库目录的两种方法:

  1. “项目属性 >> 配置属性 >> VC++目录 >> 库目录”
  2. “项目属性 >> 配置属性 >> 链接器 >> 常规 >> 附加库目录”。

引用库的两种方法:

  1. 代码#pragma comment (lib, "xxx.lib")(用#ifdef _DLL和#ifdef _DEBUG);
  2. “项目属性 >> 配置属性 >> 链接器 >> 输入 >> 附加依赖项”。

.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

windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)的更多相关文章

  1. Windows下swoole扩展的编译安装部署

    1. 到cygwin官网下载cygwin. 官网地址:https://www.cygwin.com/ 2. 打开下载好的cygwin安装包,开始安装cygwin. 选择cygwin的安装目录(这个同时 ...

  2. Windows下: RubyMine + Ruby On Rails + mysql 搭建开发环境

    最近在接手一个手机项目.在搭建环境的过程中,遇到了一些问题,在下文中已做记录,并奉上个人的解决方案. 开发环境 win2003 ;  JetBrains RubyMine6.3.3 1.  下载最新版 ...

  3. win7,64bit下的OpenGL着色语言(glsl)开发环境配置(原)

    一.环境准备: 系统环境win7,64位,双显卡:集成显卡+gt540m,gt540建议下载最新的驱动,可以支持到opengl4.3标准,一般双显的笔记本,程序默认启用的是集显,我机器的集显驱动有点老 ...

  4. 【opencv学习笔记一】opencv下载安装与VS2017开发环境配置

    本文章摘录自浅墨博客,原文链接http://blog.csdn.net/poem_qianmo/article/details/19809337 目录 1.opencv下载与安装 2.计算机环境变量配 ...

  5. Windows下安装PHP及开发环境配置

    一.Apache 因为Apache官网只提供源代码,如果要使用必须得自己编译,这里我选择第三方安装包Apache Lounge. 1. 进入Apachelounge官方下载地址:http://www. ...

  6. Windows下使用 Sublime Text + MinGW 搭建C/C++开发环境

    下载并安装 Sublime Text 点击此处从官网下载适合自己的Windows系统的Sublime Text 下载好后双击进行安装(一路next就好啦) 下载 MinGW 点击此处下载MinGW 下 ...

  7. windows下图形学视觉基本库安装不完全指南

    安装各种库东奔西走...... GLUT(英文全写:OpenGL Utility Toolkit)是一个处理OpenGL程式的工具库,负责处理和底层操作系统的呼叫以及I/O,并包括了以下常见的功能: ...

  8. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  9. windows下的Nodejs及npm的安装、常用命令,Nodejs开发环境配置

    http://www.cnblogs.com/webstorm/p/5744942.html ***************************************** 第一步:下载Nodej ...

随机推荐

  1. ARM、Intel、MIPS处理器啥区别?看完全懂了

    安卓支持三类处理器(CPU):ARM.Intel和MIPS.ARM无疑被使用得最为广泛.Intel因为普及于台式机和服务器而被人们所熟知,然而对移动行业影响力相对较小.MIPS在32位和64位嵌入式领 ...

  2. jquery中select的应用

    //得到select项的个数 jQuery.fn.size = function(){ return jQuery(this).get(0).options.length; } //获得选中项的索引 ...

  3. Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) E. Goods transportation (非官方贪心解法)

    题目链接:http://codeforces.com/contest/724/problem/E 题目大意: 有n个城市,每个城市有pi件商品,最多能出售si件商品,对于任意一队城市i,j,其中i&l ...

  4. WPS for Linux(ubuntu)字体配置(字体缺失解决办法)

    启动WPS for Linux后,出现提示"系统缺失字体" . 出现提示的原因是因为WPS for Linux没有自带windows的字体,只要在Linux系统中加载字体即可. 具 ...

  5. CentOS集群安装Tmux

    对于Linux的常用者,如果你说你不会tmux,那你就out啦~ 1. 什么是Tmux? 先来看看Tmux长什么样. tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD ...

  6. error MSB6006: “CL.exe”已退出,代码为X —— 的解决办法

    错误 : error MSB6006: “CL.exe”已退出,代码为X . 解决方法: 1.有少可能是执行目录引起的. 参考 http://bbs.csdn.net/topics/370064083 ...

  7. IIS7 404 模块 IIS Web Core 通知 MapRequestHandler 处理程序 StaticFile 错误代码 0x80070002

    <system.webServer> <!--添加--> <modules runAllManagedModulesForAllRequests="true&q ...

  8. API查看Web App发布版本+编译时间+环境变量

    项目环境: JDK7+Maven3.04 项目架构:SpringMVC 方法一:API访问Maven生成的MANIFEST.MF 1. 在pom.xml中添加jar包支持 <dependency ...

  9. 004-For与Function进阶实战、Lazy的使用

    004-For与Function进阶实战.Lazy的使用 For进阶 非常常见的形式 可以加入条件表达式进行数据过滤 Function进阶 函数是有值的(默认的话为Unit),所以可以直接将结果赋值给 ...

  10. 自定义 Material Design风格的提示框

    关闭 自定义 Material Design风格的提示框 2016-04-24 10:55 152人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 其实在14年谷歌 ...