2012-11-18 11 views
14

Ich benutze Bullet Physics, auf Windows 7 und Visual Studio 2012. Ich habe die Bibliotheken kompiliert, und die Demos funktionieren gut, aber wenn ich versuche, meine eigene Lösung zu erstellen, ich bekomme Verknüpfungsfehler. Ich habe die Menge an Code zuBullet Physik, Linking Fehler in Visual Studio

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

minimiert, die, wenn ich einen Link, mit Visual Studio gibt mir die folgenden Fehler:

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 

Die gleichen Fehler auftreten, wenn ich in Debug oder Release Mode bauen. Ich habe versucht:
- Wiederaufbau Kugel 2,81,
- redownloading 2,81,
- ein leeres Projekt zu erstellen und die Bibliotheken hinzufügen,
- ein leeres Projekt zu erstellen und die Projekte Hinzufügen wie bei http://bulletphysics.org/mediawiki-1.5.8/index.php/Creating_a_project_from_scratch, schlug aber zu kein Erfolg.

Kann ich irgendetwas tun?

Antwort

20

Es sieht so aus, als ob BulletCollision.lib mit der DLL-Version der C-Laufzeitbibliothek (/ MD) kompiliert wurde, aber Sie kompilieren, um mit der statisch verknüpften Laufzeitbibliothek (/ MT) zu verknüpfen. Ändern Sie Ihre Compileroptionen, um mit der DLL-Laufzeitbibliothek zu verknüpfen.

+3

Danke. Stupid kleine Dinge, die mich jedes Mal stecken. – maccard

+6

Konfigurationseigenschaften -> C/C++ -> Codegenerierung -> Laufzeitbibliothek –