Domanda

Così ho un progetto di Visual Studio 2010 che utilizza librerie esterne e al fine di ottenere la sua compilazione senza LNK2005 ho dovuto arround juggle con l'ordine delle librerie nelle impostazioni di linker.

ho preso per compilare bene in modalità di rilascio, ma per qualsiasi motivo non riesco a farlo compilare senza errori LNK di debug.

Non c'è un modo per ignorare generalmente LNK2005 e dire al linker di semplice utilizzo ciò che incontra per la prima?

Grazie!

// edit: qui sono alcuni dei dell'uscita errori del problema PARTICOLARE. però ho già cercato di risolvere questo in modo diverso con ogni soluzione di avermi dato diversi problemi di linker. quindi sto cercando soluzione generale di ignorare 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

È stato utile?

Soluzione

E 'possibile provare il linker-opzione / FORCE (Forza Output file nella scheda Linker Generale delle proprietà del progetto). Questo forzerà il linker per creare un exe / dll, anche quando si verificano tali errori. Ma la sua sinistra per voi per scoprire se questo exe funziona a tutti o addirittura in modo corretto. Dopo tutto non consiglierei questa strategia.

linker errori a volte può essere noioso da risolvere, ma di solito deve essere fatto solo dopo la migrazione o la creazione di un progetto. Questa operazione potrebbe richiedere un bel po '-. A volte mi ci sono voluti più di un giorno, ma dovrebbe essere fatto correttamente

Altri suggerimenti

È assolutamente necessario non ignorare gli errori del linker, mai A linker sta dicendo che è confuso su un simbolo che è definito in più luoghi - dove dovrebbe prendere la definizione da? Vuoi davvero che sia arbitrario? Che dire quando si modifica il codice e il linker decide in modo casuale a prendere l'altra definizione che potrebbe improvvisamente rompere il vostro codice?

Invece di combattere lo strumento, correggere il codice in modo che compila e collegamenti senza errori. Articolo Questo MSDN ha alcune informazioni sul fissaggio, insieme ai link per ulteriori informazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top