*.lib einbinden
-
jetzt scheint er die lib zu finden, dafür kommen einige andere merkwürdige meldungen:
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _printf ist bereits in libcmtd.lib(printf.obj) definiert. MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) ist bereits in libcmtd.lib(typinfo.obj) definiert. MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) ist bereits in libcmtd.lib(typinfo.obj) definiert. LINK : warning LNK4098: Standardbibliothek "MSVCRTD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden. F:\VC Projekte\VC 2005\SignaturEmbedded\Debug\SignaturEmbedded.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
Was soll denn das jetzt schon wieder?!?
-
Ins Blaue geraten: Du versuchst nicht zufällig, eine gegen die debug CRT gelinkte lib gegen ein Programm, das gegen die release CRT linkt, zu linken, oder vice versa? (Krasser Satzbau
)
cheers, Swordfish
-
Nö - beides debug-versionen. wenn ich diese linker-option nodefault.. setze, dann gehts auch nicht! Was isr das bloß für ein Mist...
Gat vielleicht noch jemand eine Idee?
-
Deine LIB wurde mit einer anderen CRT gebunden... oder gar mit einem anderen Compiler erzeugt.
-
beides mit vc2005. was ist eigentlich eine CRT und wozu brauch ich die? Ist doch schon komisch, daß vc2005 plötzlich sein eigenes Kauderwelsch nicht mehr versteht...
-
Orion8 schrieb:
beides mit vc2005. was ist eigentlich eine CRT und wozu brauch ich die? Ist doch schon komisch, daß vc2005 plötzlich sein eigenes Kauderwelsch nicht mehr versteht...
Es ist Dein Problem und nicht das von VC2005!
Die CRT ist die C-Run-Time Library. Diese liegt in mindestens 4 Versionen vor:
- DLL gebunden (Release)
- statisch gebunden (Release)
- DLL gebunden (Debug)
- statisch gebunden (Debug)In den Projekteinstellungen definierst Du welche CRT verwendet werden soll.
Werden Objekt Dateien zusammengelinkt, die unterschiedliche CRTs verwenden, dann kommen Fehlermeldungen wie Deine.Warnung: Es ist nicht gut diese Warnungen zu ignorieren oder manuell dafür zu sorgen, dass eine bestimmte Libs nicht verwendet werden. Sorge für richtige Projekteinstellungen.
-
Hallo Martin,
vielen Dank für Deine Zeit und die Hinweise!Ich hab bereits in den Eigenschaften der Projekte gesucht, kann aber die Stelle, an der ich angebe, welche lib er nutzen soll nicht finden.
Wo kann ich denn jetzt einstellen, welche CRT er verwenden soll. Wenn ich das wüßte würde ich bei beiden Projekten die gleiche CRT einstellen, so das dann hoffentlich alles funktuioniert...
P.S.: Wie kann ich anderen, die die lib verwenden wollen am einfachsten mitteilen, was sie einzustellen haben?
-
Projekteigenschaften -> Konfigurationseigenschaften -> C/C++ -> Codegenerierung -> Laufzeitbibliothek.
Überprüfe die Eigenschaft für alle vorhandenen Konfigurationen.
cheers, Swordfish
-
Jaaaaaaaaaaa!!! Swordfish - du bist der GRÖSSTE!!!
Vielen Dank!!
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.