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 に答える