2012-11-18 17 views
14

Utilizzo Bullet Physics, su Windows 7 e Visual Studio 2012. Ho compilato le librerie e le demo funzionano correttamente, ma quando provo a creare la mia soluzione, I sto ricevendo errori di collegamento. Ho ridotto al minimo la quantità di codice perFisica di proiettile, errore di collegamento in Visual Studio

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

che quando mi collego, me usando Visual Studio fornisce i seguenti errori:

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 

gli stessi errori vengono visualizzati quando costruire in Debug o modalità di rilascio. Ho provato:
- la ricostruzione della pallottola 2.81,
- redownloading 2.81,
- la creazione di un progetto vuoto e aggiungendo le librerie,
- la creazione di un progetto vuoto e aggiungendo i progetti, come suggerito a http://bulletphysics.org/mediawiki-1.5.8/index.php/Creating_a_project_from_scratch, ma per inutile.

C'è qualcosa che posso fare?

risposta

20

Sembra che BulletCollision.lib sia stato compilato per collegarsi con la versione DLL della libreria di runtime C (/ MD), ma si sta compilando per collegarsi alla libreria di runtime collegata in modo statico (/ MT). Cambia le opzioni del compilatore per collegarti alla libreria runtime DLL.

+3

Grazie. Stupide piccole cose che mi fanno rimanere bloccato ogni volta .. – maccard

+6

Proprietà di configurazione -> C/C++ -> Generazione codice -> Libreria di runtime –

Problemi correlati