I'm entering to the physics simulation world. I work with Linux. I've just tried NVDIDA phys, and I get disappointed by the lots of errors on Linux:S.
Well so I'll use bullet. Like I always do I tried to recompile one demo application manually('BasicDemo' in this case) just to know how to link everything all the stuff. Well, I've appended the libraries:
- BulletDynamics
- BulletCollision
- LinearMath
- OpenGLSupport
- BulletSoftBody
- GLee
- glut
and I have this error:
Code: Select all
g++ -m32 -o dist/Release/GNU-Linux-x86/probandobullet build/Release/GNU-Linux-x86/BasicDemo.o build/Release/GNU-Linux-x86/main.o -L/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/src/BulletDynamics -L/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/src/BulletCollision -L/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/src/LinearMath -L/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL -L/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/src/BulletSoftBody -lLibBulletDynamics -lLibBulletCollision -lLibLinearMath -lLibOpenGLSupport -lLibBulletSoftBody -lGLee -lglut
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(DemoApplication.o): In function `DemoApplication::mouseFunc(int, int, int, int)':
DemoApplication.cpp:(.text+0x268b): undefined reference to `btPoint2PointConstraint::btPoint2PointConstraint(btRigidBody&, btVector3 const&)'
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(GL_ShapeDrawer.o): In function `GL_ShapeDrawer::~GL_ShapeDrawer()':
GL_ShapeDrawer.cpp:(.text+0x3f1): undefined reference to `btShapeHull::~btShapeHull()'
GL_ShapeDrawer.cpp:(.text+0x4e8): undefined reference to `btShapeHull::~btShapeHull()'
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(GL_ShapeDrawer.o): In function `GL_ShapeDrawer::cache(btConvexShape*)':
GL_ShapeDrawer.cpp:(.text+0x593): undefined reference to `btShapeHull::btShapeHull(btConvexShape const*)'
GL_ShapeDrawer.cpp:(.text+0x5cc): undefined reference to `btShapeHull::buildHull(float)'
GL_ShapeDrawer.cpp:(.text+0x60c): undefined reference to `btShapeHull::numIndices() const'
GL_ShapeDrawer.cpp:(.text+0x61d): undefined reference to `btShapeHull::numVertices() const'
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(GL_ShapeDrawer.o): In function `GL_ShapeDrawer::drawOpenGL(float*, btCollisionShape const*, btVector3 const&, int, btVector3 const&, btVector3 const&)':
GL_ShapeDrawer.cpp:(.text+0x1427): undefined reference to `btShapeHull::numTriangles() const'
GL_ShapeDrawer.cpp:(.text+0x1456): undefined reference to `btShapeHull::numTriangles() const'
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(GL_ShapeDrawer.o): In function `GL_ShapeDrawer::~GL_ShapeDrawer()':
GL_ShapeDrawer.cpp:(.text+0x1e71): undefined reference to `btShapeHull::~btShapeHull()'
GL_ShapeDrawer.cpp:(.text+0x1f68): undefined reference to `btShapeHull::~btShapeHull()'
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(GL_ShapeDrawer.o): In function `GL_ShapeDrawer::~GL_ShapeDrawer()':
GL_ShapeDrawer.cpp:(.text+0x2006): undefined reference to `btShapeHull::~btShapeHull()'
GL_ShapeDrawer.cpp:(.text+0x20e8): undefined reference to `btShapeHull::~btShapeHull()'
collect2: ld devolvió el estado de salida 1
make[2]: *** [dist/Release/GNU-Linux-x86/probandobullet] Error 1
make[2]: se sale del directorio `/home/raulhuertas/Documentos/Proyectos/ProbandoBullet'
make[1]: *** [.build-conf] Error 2
make[1]: se sale del directorio `/home/raulhuertas/Documentos/Proyectos/ProbandoBullet'
make: *** [.build-impl] Error 2
Build failed. Exit value 2.
Please some one can help me. I've compiled bullet in my PC. An observation: in the 'lib' directory nothing is placed, I'm linking with static libs in the src/ directory. I used CMake for the build step.