在Eclipse中编译时出现以下错误:
make: *** [ogre-bullet-playground] Error 1
undefined reference to `btCapsuleShape::btCapsuleShape(float, float)'
undefined reference to `btRigidBody::btRigidBody(float, btMotionState*, btCollisionShape*, btVector3 const&)'
undefined reference to `btRigidBody::btRigidBody(float, btMotionState*, btCollisionShape*, btVector3 const&)'
undefined reference to `btConvexHullShape::btConvexHullShape(float const*, int, int)'
undefined reference to `btKinematicCharacterController::btKinematicCharacterController(btPairCachingGhostObject*, btConvexShape*, float, int)'
这些是我正在使用的库:
OgreMain
OIS
boost_system
OgreTerrain
BulletDynamics
BulletCollision
LinearMath
有人知道如何解决这个问题吗?我认为库是可以的,我不知道为什么这不是编译。
答案 0 :(得分:0)
未定义引用`btCapsuleShape :: btCapsuleShape(float,float)'
这个构造函数应该在BulletCollision
库中定义。
这些是我正在使用的库:...... BulletCollision
最可能的解释是你做了这样的事情:
g++ -lBulletCollision ... main.cc
不要那样做。命令行matters上的源和目标文件和库的顺序以及您的订单可能是错误的。