iOS 中引入Bullet 物理引擎

来源:互联网 发布:手机摄像头破解软件 编辑:程序博客网 时间:2024/06/05 06:49

      由于项目中要用到3D物理引擎,比较了一下,最终选择了开源的3D物理引擎Bullet;(Bullet 的主页: http://bulletphysics.org/wordpress/)

      网上一堆Bullet 引擎的入门介绍,这里就不再多说,直接上步骤:

1.    将src文件夹中的文件拷贝到iOS工程目录,删除掉源文件中的makefile 等不相关文件;

2.    将文件拖入工程后进行编译测试;可能遇到如下问题;
       * 提示无法找到相关头文件;
          原因是Bullet源码中的头文件包含使用的文件夹路径 #include "LinearMath/btVector3.h"
      系统编译时无法找到文件夹,此时需要在工程设置中修改 Header search Paths
      为源码相对路径,例如 "$(SRCROOT)/Dice/Bullet/." (源码文件位于Bullet目录下)
       * btVector3.cpp 文件编译报错,提示将 -1 赋值给Unsigned char 等涉及截取长度的类型转换问题;
          由于编译器Dialect 问题,此时需要将C++ Language Dialect 更换为Compiler Default 或其他;
           实践中发现C++11 会有类似问题;

       * 提示btVector3.cpp文件无法识别 memset() 函数;
           原因是没有包含#include <strings.h> 头文件,包含此文件即可;

       * 提示btScalar.h 预处理有问题;原因是
            在2.81版本中此文件第210行的#end是多余的,注释掉就可编译通过;