2

Ich habe eine Lösung Explorer enthält 2 Projekte. Für ein Projekt habe ich /clr mit /mdd aktiviert. Für Elternprojekt habe ich /mtd und keine clr Unterstützung. Als ich das kompilieren bekomme ich zwei Linkerfehler einschließlich der unten ein:Wie verwendet man/NODEFAULTLIBS Option in Kompilierung?

Link-Warnung Link 4098: Standard lib mit anderer lib Verwendung in Konflikt geraten können/NODEFAULTLIBS Bibliothek

So ist meine Frage, wie /NODEFAULTLIBS in Kompilation verwenden .

Vielen Dank im Voraus.

Antwort

4

Zuerst müssen Sie herausfinden, welche Bibliothek den Konflikt verursacht, wenn Sie können. Gibt es in der Linkwarnung etwas?

Dann müssen Sie die Eigenschaftenseiten für dieses Projekt öffnen, und gehen Sie zu Linker -> Befehlszeile. Im 'Zusätzliche Optionen' Bereich, Typ:

/NODEFAULTLIB:xxx.lib

wo xxx.lib die in Konflikt stehende Bibliothek ist. wenn Sie nicht aus arbeiten konnte jedoch die Bibliothek es ist, versuchen Sie einfach:

/NODEFAULTLIB

+1

Könnten Sie diskutieren über die Auswirkungen der Verwendung solcher Optionen in Sie antworten? Ich habe versucht, "/ NODEFAULTLIB" zu verwenden, und es gibt jetzt eine Menge Funktion, die der Linker nicht findet. – ForceMagic