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 verwenden

    Doch, 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


Anmelden zum Antworten