Linker Error LNK2005
-
Hi,
ich habe eine Dialog-Applikation geschrieben, in der ich auch mit CDC zeichne. Um das Bild als JPEG zu exportieren, hab ich mit die freien JPG-Quellcode- und Header-Dateien mit ins Projekt eingebunden. Nun hab ich folgendes Problem:
Wenn ich die aktive Konfiguration auf "Debug" stelle, funktioniert alles einwandfrei, ändere ich sie auf "Release" kommt folgende Fehlermeldung:MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fflush bereits in libcmt.lib(fflush.obj) definiert
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _exit bereits in libcmt.lib(crt0dat.obj) definiert
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fprintf bereits in libcmt.lib(fprintf.obj) definiert
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _sprintf bereits in libcmt.lib(sprintf.obj) definiert
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _sscanf bereits in libcmt.lib(sscanf.obj) definiert
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _getenv bereits in libcmt.lib(getenv.obj) definiert
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _malloc bereits in libcmt.lib(malloc.obj) definiert
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _free bereits in libcmt.lib(free.obj) definiert
LINK : warning LNK4098: Standardbibliothek "MSVCRT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULT:Bibliothek verwenden
Release/Sentials.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
Fehler beim Ausführen von link.exe.Sentials.exe - 9 Fehler, 1 Warnung(en)
Was mache ich falsch, bzw. was ist der Unterschied zwischen diesen Konfigurationen (Debug/Release)?
zwette
-
ich habs jetzt gelöst.
ich hab einfach bei release bei den linker settings "msvcrt.lib" in die ignorierliste geschrieben
-
http://groups.google.de/groups?hl=de&lr=&ie=UTF-8&oe=UTF-8&threadm=7utc56%24lf3%241%40news.imp.ch&rnum=3&prev=/groups%3Fq%3D%2522bereits%2Bin%2Blibcmt.lib%2522%26hl%3Dde%26lr%3D%26 ie%3DUTF-8%26oe%3DUTF-8%26selm%3D7utc56%2524lf3%25241%2540news.imp.ch%26rnum%3D3
-
Danke für den Link, Trollfrau:
"...Das ist das, was MS als "weak linking bezeichnet". Geh in die Linker
settings, schliesse die Bibliotheken libcmt.lib und nafxcw.lib in
dieser Reihenfolge aus (bei "Ignore libraries") und fuege sie in der
umgekehrten Reihenfolge wieder ein (bei "Object/library modules").
Fuer den Debug Build dasselbe, nur mit libcmtd.lib und nafxcwd.lib..."hab ich gemacht, trotzdem:
msvcrt.lib(MSVCRT.dll) : error LNK2005: _fflush bereits in libcmt.lib(fflush.obj) definiert
msvcrt.lib(MSVCRT.dll) : error LNK2005: _exit bereits in libcmt.lib(crt0dat.obj) definiert
msvcrt.lib(MSVCRT.dll) : error LNK2005: _fprintf bereits in libcmt.lib(fprintf.obj) definiert
msvcrt.lib(MSVCRT.dll) : error LNK2005: _sprintf bereits in libcmt.lib(sprintf.obj) definiert
msvcrt.lib(MSVCRT.dll) : error LNK2005: _sscanf bereits in libcmt.lib(sscanf.obj) definiert
msvcrt.lib(MSVCRT.dll) : error LNK2005: _getenv bereits in libcmt.lib(getenv.obj) definiert
msvcrt.lib(MSVCRT.dll) : error LNK2005: _malloc bereits in libcmt.lib(malloc.obj) definiert
msvcrt.lib(MSVCRT.dll) : error LNK2005: _free bereits in libcmt.lib(free.obj) definiert
libcmt.lib(crt0init.obj) : warning LNK4098: Standardbibliothek "msvcrt.lib" steht in Konflikt mit anderen Bibliotheken; /NODEFAULT:Bibliothek verwenden
Release/Sentials.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
Fehler beim Ausführen von link.exe.Sentials.exe - 9 Fehler, 1 Warnung(en)
Keine Ahnung, was da los ist...
zwette
PS: Die erste Antwort war NICHT von mir, ich führe selten Selbstgespräche!