Forum: PC-Programmierung Visual Studio LNK4098 Konfilikt mit Standardbibliothek


von vbc2011 (Gast)


Lesenswert?

hi,
ich habe folgendes Problem:
Ich bekomme immer die
warning LNK4098: Standardbibliothek "LIBCMTD" steht in Konflikt mit 
anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.

In der Hilfe vom VisualStudio wird zwar ausführlich erklärt wie ich 
diese Warnung umgehen kann - bringt jedoch nichts...

Hat jemand eine Idee - wie ich diese warnung sonst noch 
ausschalten/lokalisieren kann??

danke.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Du mischst Code, der für Single-Threaded-Betrieb übersetzt wurde mit 
Code, der für Multi-Threaded-Betrieb übersetzt wurde.

von vbc2011 (Gast)


Lesenswert?

ok - und wie bringe ich diesen "unterschiedlichen" code auf einen 
geminsamen nenner??

(nur zum verständnis - einige .c oder .lib sind mit unterschiedlichen 
einstellungen kompiliert worden??)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

vbc2011 schrieb:
> nur zum verständnis - einige .c oder .lib sind mit unterschiedlichen
> einstellungen kompiliert worden??

Das ist üblicherweise die Ursache dieser Meldung.

von vbc2011 (Gast)


Lesenswert?

d.h. ich muss die verwendeten dateien einzeln kompilieren - mit den 
entsprechenden einstellungen und dann in mein projekt übernehmen??

von ... (Gast)


Lesenswert?

Mischen von single-/multithreaded Bibliotheken ist die eine Ursache für 
die Warnung, statisch/dynamisch gelinkte Standardlibraries die zweite 
und debug/release Versionen die dritte.
Die obige Warnung ("LIBCMTD") deutet daruf hin, daß eine der von Dir 
verwendeten Bibliotheken mit der Option /MTd ("use the debug, 
multithread, static version of the run-time library") kompiliert wurde.
Entwederr Du übersetzt Dein Projekt ebanfalls mit dieser Option, oder Du 
mußt eine zu Deinen Projektoptionen passende Bibliothek verwenden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.