14

Windows7とVisualStudio2012でBulletPhysicsを使用しています。ライブラリをコンパイルし、デモは正常に機能していますが、独自のソリューションを作成しようとすると、リンクエラーが発生します。コードの量を最小限に抑えました

#include "btBulletDynamicsCommon.h"
int main(int argc, char*argv[])
{
    btBoxShape* box = new btBoxShape(btVector3(1, 1, 1));
    return 0;
}

リンクすると、VisualStudioを使用すると次のエラーが発生します。

1>------ Build started: Project: HelloBulletApp, Configuration: Release Win32 ------  
1>  main.cpp  
1>  main.obj : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG;   add /LTCG to the link command line to improve linker performance
1>BulletCollision.lib(btCollisionShape.obj) : error LNK2038: mismatch detected for   'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in main.obj
1>BulletCollision.lib(btConvexShape.obj) : error LNK2038: mismatch detected for   'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in main.obj
1>BulletCollision.lib(btPolyhedralConvexShape.obj) : error LNK2038: mismatch detected for   'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in main.obj
1>BulletCollision.lib(btConvexPolyhedron.obj) : error LNK2038: mismatch detected for   'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in main.obj
1>LinearMath.lib(btConvexHullComputer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in main.obj
1>LinearMath.lib(btGeometryUtil.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in main.obj
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>c:\path\to\HelloBulletApp\HelloBulletApp\Release\HelloBulletApp.exe : fatal error LNK1319: 6 mismatches detected

デバッグモードまたはリリースモードでビルドしたときにも同じエラーが表示されます。私が試したのは:
-箇条書き2.81の再構築、
-2.81の再ダウンロード、
-空白のプロジェクトの作成とライブラリの追加、 -空白のプロジェクトの作成とhttp://bulletphysics.org/mediawiki-1.5.8/
で提案されているプロジェクトの追加 index.php / Creation_a_project_from_scratchですが、役に立ちません。

何か私にできることはありますか?

4

1 に答える 1

20

BulletCollision.libは、DLLバージョンのCランタイムライブラリ(/ MD)とリンクするようにコンパイルされたようですが、静的にリンクされたランタイムライブラリ(/ MT)とリンクするようにコンパイルしています。DLLランタイムライブラリとリンクするようにコンパイラオプションを変更します。

于 2012-11-18T21:41:23.407 に答える