0

在 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

有人知道如何解决这个问题吗?我认为这些库还可以,我不知道为什么不编译。

4

1 回答 1

0

未定义对 `btCapsuleShape::btCapsuleShape(float, float)' 的引用

这个构造函数应该在BulletCollision库中定义。

这些是我正在使用的库: ... BulletCollision

最可能的解释是你做了这样的事情:

g++ -lBulletCollision ... main.cc

不要那样做。命令行上源文件和目标文件以及库的顺序很重要,您的顺序可能是错误的。

于 2013-06-15T19:26:21.413 回答