2013-05-15 2 views
0

J'ai eu un projet qui a été compilé et aimé bien, mais j'ai besoin de le relier à une bibliothèque 64 bits et j'ai essayé de changer le type de projet à 64 et maintenant le projet n'est pas lié correctement.erreur de lien après avoir changé le type de projet C++ de x86 à x64

L'erreur que je reçois est:

Error 1 error LNK1112: module machine type 'X86' conflicts with target machine type 'x64' \createDLL.obj 

vérifier la sortie, je peux voir que l'éditeur de liens est appelé ainsi:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"..\Debug\createDLL.exe" /INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"..\Debug\createDLL.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE:NO /IMPLIB:"..\Debug\createDLL.lib" /MACHINE:X64 /SAFESEH Debug\createDLL.obj 

apparemment l'éditeur de liens est à la recherche d'un obj qui compilé pour 64 mais il ne peut pas le trouver

Comment puis-je définir le compilateur à compiler pour x64?

J'utilise VS 2012

+0

Avez-vous essayé le nettoyage et la reconstruction? Je ne suis pas sûr sur le côté x64, mais la compilation croisée pour MS Windows CE nécessite un peu de nettoyage du fichier de projet. Dans VS2005 (pas sûr de VS2012), commencez par définir les répertoires des fichiers de sortie et des fichiers intermédiaires sur des chemins distincts pour chaque plateforme et configuration. Ensuite, remplacez tous les chemins restants dans les paramètres du compilateur et de l'éditeur de liens avec $ (OutDir) et $ (IntDir). Cela devrait vous aider à démarrer et éviter les mélanges. –

Répondre

0

1) Essayez d'obtenir la version 32 bits de la bibliothèque si possible.

2) Vérifiez les options dans Projet-> Propriétés-> Propriétés de configuration-> Liaison. Vérifiez les paramètres dans Général, Entrée & avancée pages principalement à it.Should résoudre votre problème

Questions connexes