いまBulletを使って物理演算しようとしていて
Bulletだけを使うとちゃんとコンパイルされるのですが
Bulletとdxライブラリをつかうと
エラーがおきます。
1>DxUseCLib_d.lib(DxUseCLibPhysics.obj) : error LNK2005: "public: virtual __thiscall btPolyhedralConvexShape::~btPolyhedralConvexShape(void)" (??1btPolyhedralConvexShape@@UAE@XZ) は既に BulletCollision.lib(btPolyhedralConvexShape.obj) で定義されています。
1>libbulletcollision_vc6_d.lib(btCollisionWorld.obj) : error LNK2005: "public: __thiscall btCollisionWorld::btCollisionWorld(class btDispatcher *,class btBroadphaseInterface *,class btCollisionConfiguration *)" (??0btCollisionWorld@@QAE@PAVbtDispatcher@@PAVbtBroadphaseInterface@@PAVbtCollisionConfiguration@@@Z) は既に BulletCollision.lib(btCollisionWorld.obj) で定義されています。
↑こういうのが100けたくらいでます。
どうやらdxライブラリでpmdの物理演算のときにBulletを
使っていて、重複定義されているみたいです。
それで、dxライブラリでBulletをコンパイルしたlibファイル
をリンクしないように
DxLib.h内に
#define DX_NON_BULLET_PHYSICS
を入れると、エラーはかなり減って2つになりましたが↓と出ます。
1>DxUseCLib_d.lib(DxUseCLibPhysics.obj) : error LNK2005: "public: virtual __thiscall btPolyhedralConvexShape::~btPolyhedralConvexShape(void)" (??1btPolyhedralConvexShape@@UAE@XZ) は既に BulletCollision.lib(btPolyhedralConvexShape.obj) で定義されています。
1>DxUseCLib_d.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual float __thiscall btCollisionShape::getContactBreakingThreshold(void)const " (?getContactBreakingThreshold@btCollisionShape@@UBEMXZ)" は未解決です。
なんとか解決できないでしょうか。
回答おねがいします。