I'm defining BT_USE_DOUBLE_PRECISION in my CMakeLists.txt file, and everything works as expected on Windows, however I get a segfault on Linux:
Code: Select all
btCollisionWorld.cpp
virtual bool process(const btBroadphaseProxy* proxy)
{
///terminate further convex sweep tests, once the closestHitFraction reached zero
if (m_resultCallback.m_closestHitFraction == btScalar(0.f))
return false;
// this line is causing the crash
btCollisionObject* collisionObject = (btCollisionObject*)proxy->m_clientObject;
...
...
This happens when any type of collision test is called. I am currently just dragging and dropping the entire bullet source into my project. The problem is fixed when I compile without BT_USE_DOUBLE_PRECISION. I am compiling with clang (on Windows and Linux).