Question

J'ai donc un projet Visual Studio 2010 qui utilise des bibliothèques externes et afin d'obtenir le compiler sans LNK2005 je devais jongler arround avec l'ordre des bibliothèques dans les paramètres de l'éditeur de liens.

Je suis arrivé à compiler correctement en mode de libération, mais pour une raison quelconque, je ne parviens pas à le compiler sans erreurs LNK dans le débogage.

est-il pas possible d'ignorer généralement LNK2005 et dire à l'éditeur de liens simplement d'utiliser tout ce qu'il RENCONTRES d'abord?

Merci!

// edit: voici de la sortie d'erreurs du problème. mais je l'ai déjà essayé de résoudre ce de différentes manières avec chaque solution me donner différents problèmes de liaison. donc je suis à la recherche de solution générale d'ignorer LNK2005

Error 7 error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in Libcmtd.lib(typinfo.obj) ...\msvcprtd.lib(MSVCP100D.dll)

Error 8 error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in Libcmtd.lib(typinfo.obj) ...\msvcprtd.lib(MSVCP100D.dll)

Error 9 error LNK2005: _exit already defined in Libcmtd.lib(crt0dat.obj) ...\msvcprtd.lib(MSVCP100D.dll)

Error 10 error LNK2005: __invalid_parameter already defined in Libcmtd.lib(invarg.obj) ...\msvcprtd.lib(MSVCP100D.dll)

...

Error 37 error LNK1169: one or more multiply defined symbols found

Était-ce utile?

La solution

Vous pouvez essayer l'éditeur de liens-option / force (force de sortie du fichier dans l'onglet Général Linker des Propriétés du projet). Cela va forcer l'éditeur de liens pour créer un exe / dll même lorsque ces erreurs se produisent. Mais son vous reste à savoir si ce exe fonctionne tout ou même correctement. Après tout ce que je ne recommanderais pas cette stratégie.

erreurs Linker peut parfois être fastidieux à résoudre, mais le plus souvent il doit être fait qu'après la migration ou la mise en place d'un projet. Cela peut prendre un certain temps -. Il m'a fallu parfois plus de jour, mais il doit être fait correctement

Autres conseils

Vous devez absolument pas ignorer les erreurs de l'éditeur de liens, toujours Un éditeur de liens vous dit qu'il est confus au sujet d'un symbole qui est défini dans plusieurs endroits - où devrait-il prendre la définition de? Voulez-vous vraiment qu'il soit arbitraire? Qu'en est-il lorsque vous modifiez votre code et l'éditeur de liens au hasard décide de prendre l'autre définition qui pourrait tout à coup briser votre code?

Au lieu de combattre l'outil, corriger votre code afin qu'il compile et des liens sans erreurs. Cet article MSDN contient des informations sur le fixer, ainsi que des liens pour plus d'informations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top