我刚开始使用Bullet,我在第一个教程中遇到了困难:http://bulletphysics.org/mediawiki-1.5.8/index.php/Hello_World#Tutorial:_Hello_World_Application
我的代码编译得很好但是当它到达该行时崩溃:
dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher,broadphase,solver,collisionConfiguration);
我收到错误(如果实际上有任何用途......):
malloc():内存损坏:0x00000000014fcc10
我在SO和谷歌上尝试了大量搜索,但似乎没有其他人有这个问题。
我正在使用Ubuntu和Bullet 2.79。
修改
经过进一步研究,我发现解决方案可能是直接添加所有子弹源文件。但是,这引入了一个新问题:编译器无法在btSoftBodySolver_CPU.cpp文件中找到vectormath/vmInclude.h
,即使它显示在源列表中。显然,由于编译不再完成,我无法判断我之前的错误是否已修复。
答案 0 :(得分:1)
我现在已经解决了这个问题。尽管在运行时发生错误,但问题在于如何包含库文件。通过将Bullet源所在的目录添加到编译器,它现在可以毫无问题地运行。
答案 1 :(得分:1)
我在HelloWorld.cpp
对我来说,通过在我的编译命令中添加-DBT_USE_DOUBLE_PRECISION=1
来解决这个问题。