Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [C++] error lnk2005

  1. #1

    error lnk2005

    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

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Ciao e benvenuto nel forum di Programmazione.

    Ti segnalo la lettura del Regolamento 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!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    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

  4. #4
    grazie per il consiglio, provo subito a fare questo controllo.

    matteo

  5. #5

    [C++] error lnk2005

    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> >:perator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??4?$basic_string@DU?$char_traits@D@std@@V?$alloc ator@D@2@@std@@QAEAAV01@ABV01@@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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.