PDA

Visualizza la versione completa : [C++] error lnk2005


matteocastorini
10-11-2005, 18:14
ciao a tutti
sono alle prime armi con la programmazione.
ciò nonostante sono alle prese con un programma scritto in c (ambiente visual studio) che utilizza le librerie di cplex. il programma funzionava correttamente poi però ho dovuto disinstallare il vecchio cplex per installare una nuova versione (9.1), ho cambiato i riferimenti della nuova libreria nelle impostazioni del progetto di visual c.
ho provato a eseguire dopo le modifiche ma mi da il seguente errore:
--------------------Configuration: ProblemSolver - Win32 Debug--------------------
Linking...
probsolver.obj : error LNK2005: _main already defined in main.obj
Debug/ProblemSolver.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.

qualcuno mi può dare qualche suggerimento?
grazie in anticipo

matteo castorini

alka
10-11-2005, 18:57
Ciao e benvenuto nel forum di Programmazione.

Ti segnalo la lettura del Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=862017) che contiene tutte le norme da seguire per partecipare correttamente a quest'area del forum. :)

In particolare, è obbligatorio indicare il linguaggio nel titolo.

Questo lo correggo io.

Ciao e buon forum! :ciauz:

murder eyes
11-11-2005, 00:17
l'errore che riguarda il main te lo dovrebbe dare perche' forse stai usando uno stesso package che contiene piu' di un file .c con il main. Quindi se e' per questo motivo dovresti crearti un progetto o un package diverso per ogni file .c che contiene un main

matteocastorini
11-11-2005, 10:09
grazie per il consiglio, provo subito a fare questo controllo.

matteo :ciauz:

enzoforum
04-11-2009, 17:34
Salve a tutti , sono nuovo del forum.
Mi aggancio a questa discussione perchè parla dello stesso problema che ho io.
Lavoro con Visual Studio 2008 in C++.
Ho creato una libreria idsDsLib.lib con il modello di libreria statica - tutto Ok
Ho fatto un altro progetto in cui uso la libreiria.
Quando arriva il link (sia in modalità debug che release) sul secondo progetto mi compare appunto l'errore:

msvcprt.lib(MSVCP90.dll) : error LNK2005: ........... già definito in idsDbLib.lib(RecordSet.obj)

Per la precisione l'intero errore è:
msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" ([email protected][email protected]@[email protected]@V?$alloc [email protected]@[email protected]@[email protected]@[email protected]@@Z) già definito in idsDbLib.lib(RecordSet.obj)

Di questi errori ne ho diversi e mi vengono dati , ad esempio, per:
libcpmt.lib(locale0.obj) : error LNK2005: ....
LIBCMT.lib(setlocal.obj) : error LNK2005:
MSVCRT.lib(MSVCR90.dll) : error LNK2005:

Non riesco a capire come fare, dove sbaglio quale opzione del linker sbaglio.
Qualcuno può aiutarmi?
Grazie

Loading