windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)
平台: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
windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)的更多相关文章
- Windows下swoole扩展的编译安装部署
1. 到cygwin官网下载cygwin. 官网地址:https://www.cygwin.com/ 2. 打开下载好的cygwin安装包,开始安装cygwin. 选择cygwin的安装目录(这个同时 ...
- Windows下: RubyMine + Ruby On Rails + mysql 搭建开发环境
最近在接手一个手机项目.在搭建环境的过程中,遇到了一些问题,在下文中已做记录,并奉上个人的解决方案. 开发环境 win2003 ; JetBrains RubyMine6.3.3 1. 下载最新版 ...
- win7,64bit下的OpenGL着色语言(glsl)开发环境配置(原)
一.环境准备: 系统环境win7,64位,双显卡:集成显卡+gt540m,gt540建议下载最新的驱动,可以支持到opengl4.3标准,一般双显的笔记本,程序默认启用的是集显,我机器的集显驱动有点老 ...
- 【opencv学习笔记一】opencv下载安装与VS2017开发环境配置
本文章摘录自浅墨博客,原文链接http://blog.csdn.net/poem_qianmo/article/details/19809337 目录 1.opencv下载与安装 2.计算机环境变量配 ...
- Windows下安装PHP及开发环境配置
一.Apache 因为Apache官网只提供源代码,如果要使用必须得自己编译,这里我选择第三方安装包Apache Lounge. 1. 进入Apachelounge官方下载地址:http://www. ...
- Windows下使用 Sublime Text + MinGW 搭建C/C++开发环境
下载并安装 Sublime Text 点击此处从官网下载适合自己的Windows系统的Sublime Text 下载好后双击进行安装(一路next就好啦) 下载 MinGW 点击此处下载MinGW 下 ...
- windows下图形学视觉基本库安装不完全指南
安装各种库东奔西走...... GLUT(英文全写:OpenGL Utility Toolkit)是一个处理OpenGL程式的工具库,负责处理和底层操作系统的呼叫以及I/O,并包括了以下常见的功能: ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- windows下的Nodejs及npm的安装、常用命令,Nodejs开发环境配置
http://www.cnblogs.com/webstorm/p/5744942.html ***************************************** 第一步:下载Nodej ...
随机推荐
- UDP传输
@@@基于UDP的客服端代码 public class Service { // 服务器 public static void main(String[] args) { DatagramPacket ...
- HDFS读写数据块--${dfs.data.dir}选择策略
最近工作需要,看了HDFS读写数据块这部分.不过可能跟网上大部分帖子不一样,本文主要写了${dfs.data.dir}的选择策略,也就是block在DataNode上的放置策略.我主要是从我们工作需要 ...
- POJ 3415 Common Substrings 后缀数组+并查集
后缀数组,看到网上很多题解都是单调栈,这里提供一个不是单调栈的做法, 首先将两个串 连接起来求height 求完之后按height值从大往小合并. height值代表的是 sa[i]和sa[i ...
- Hibernate实体关系映射(OneToMany、ManyToOne双边)——完整实例
双边关系是最常见的配置.在多方有一方的引用,一方也有多方的引用.双边关系能够很方便地查询数据.看一个班级与学生的双边关系. 班级(Clazz类)与学生(Student类):一对多关系.班级中有学生属性 ...
- jQuery LigerUI V1.2.3 (包括API和全部源码) 发布
前言 这次版本主要是增加了Panel和Portal组件,并增加了一套皮肤,并解决了部分兼容性的问题,添加了几个功能点. 欢迎使用反馈. 相关链接 API: http://api.lig ...
- linux内核学习之一 简单c语言反汇编
(我是第一次发技术博客的菜鸟,恳请大家指导!!) 一 由简单c程序生成汇编代码 首先给出本次我们要反汇编的简单c语言程序:(够简单吧~) 在linux环境中使用下面的命令条件编译: 生成汇编文件sh ...
- mac idea中 maven项目添加的时候没有java文件
file --other setting --maven 选中第二项即可 apply下
- 如何使用.NET开发全版本支持的Outlook插件产品(一)——准备工作
这半年一直在做Outlook的插件,因为不会VC++,所以想找一款基于.NET,用C#开发Outlook插件的技术方案.没想到,光技术选型这件事,就用各种技术手段验证了将近一个月,还花费了大量的精力做 ...
- Chinese economic influence in North Korea
Where this new investment is being targeted is also interesting雄性禿 . "If you look at the econom ...
- 安全协议系列(五)---- IKE 与 IPSec(上)
IKE/IPSec 属于网络层安全协议,保护 IP 及上层的协议安全.自上个世纪末面世以来,关于这两个协议的研究.应用,已经非常成熟.协议本身,也在不断地进化.仅以 IKE 为例,其对应的 RFC 编 ...