c++ - "memory corruption"当遵循物理教程 : how to fix? 时

标签 c++ crash runtime-error

我刚刚开始使用 Bullet,并且在第一个教程中已经遇到了困难:http://bulletphysics.org/mediawiki-1.5.8/index.php/Hello_World#Tutorial:_Hello_World_Application

我的代码编译得很好,但是当它到达以下行时就会崩溃:

dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher,broadphase,solver,collisionConfiguration);

我收到错误(如果这实际上有任何用处......):

malloc(): memory corruption: 0x00000000014fcc10

我在 SO 和 google 上尝试过大量搜索,但似乎没有其他人遇到这个问题。

我使用的是 Ubuntu 和 Bullet 2.79。

编辑 经过进一步研究,我发现一个解决方案可能是直接添加所有子弹源文件。然而,这引入了一个新问题:编译器无法在 btSoftBodySolver_CPU.cpp 文件中找到 vectormath/vmInclude.h,即使它显示在源列表中。显然,我无法判断之前的错误是否已修复,因为编译不再完成。

最佳答案

我在 HelloWorld.cpp 的同一行遇到了相同的“内存损坏”错误

对我来说,这个问题是通过在编译命令中添加 -DBT_USE_DOUBLE_PRECISION=1 来解决的。

关于c++ - "memory corruption"当遵循物理教程 : how to fix? 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548594/

相关文章:

android - 应用程序崩溃了,不知道为什么?

c++ - 应用程序崩溃,没有任何解释

objective-c - 尝试对数组进行排序时崩溃

c++ - 不保存任何图像..保存视频帧时

c++ - 多线程使用者使用boost ringbuffer不产生与输入相同的输出

c++ - Streams 中的内联忽略

c++ - MFC:CWnd::SendMessage() 是否只向其类发送消息,还是其他类可以捕获它?

ios - UIlabel 中的 UITapGestureRecognizer 错误

algorithm - 数独求解器 Scilab

java - 尝试使用 Double 与 double 计算用户输入