C++ Lib-DLL Linker Problem
-
Hallo,
ich habe vor kurzem eine Lib geschrieben (über den VC 6). Hatte im gleichen Arbeitsbereich auch ein Testprojekt, welches die Lib einbindet und benutzt. Hier funktioniert alles super.
Jetzt möchte ich die Lib auch in eine DLL einbinden, da bekomme ich dauernd Linker Fehler. Alle sehr ähnlich, z.b. so:
LIBCD.lib(crt0dat.obj) : error LNK2005: __C_Termination_Done bereits in LIBCMTD.lib(crt0dat.obj) definiert
LIBCD.lib(crt0dat.obj) : error LNK2005: __exitflag bereits in LIBCMTD.lib(crt0dat.obj) definiert
LIBCD.lib(crt0dat.obj) : error LNK2005: __wpgmptr bereits in LIBCMTD.lib(crt0dat.obj) definiert
[...]
LIBCD.lib(crt0dat.obj) : warning LNK4006: __umaskval bereits in LIBCMTD.lib(crt0dat.obj) definiert; zweite Definition wird ignoriert
Bibliothek Debug/SMS.lib und Objekt Debug/SMS.exp wird erstellt
LINK : warning LNK4098: Standardbibliothek "LIBCD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULT:Bibliothek verwendenDoch, wenn ich /nodefaultlib:"libc" angebe, fehlen natürlich einige Definitionen.
Weiß einer woran das liegen könnte? Kenne mich mit den Linker-Einstellungen nicht so genau aus.
-
und wenn du LIBCMTD.lib ausschließst?
-
multitred
-
Wenn ich die libcmtd rausschmeiße, fehlen Funktionen (wie z.B. lock und unlock).
Wie kann ich der Bibliothek beibringen, dass sie die Multithread Variante von libc benutzen soll?
-
Ist irgendwo in den Projekteinstellungen. C++ und dann Codeerstellung, glaube ich
-
Diese Option findest du in den Projekteinstellungen (der testanwendung) unter C++,
musst aber in der auswahlliste Codegeneration wählen,
da kann man das dann auswählen..Muss nochmal genau nachgucken... Bin aber grad nicht zuhause ...
MfG PMrogan
[ Dieser Beitrag wurde am 24.06.2003 um 12:36 Uhr von PMrogan editiert. ]
-
Hi,
wenn es bereits definiert ist, koenntest du doch einen eigenen namespace erstellen
in welchem du dann deine Funktionen definierst.mfg
v R