Wo muss die Option /LD festgelegt werden, wenn der MSVC-Compiler verwendet wird?
Posted: 03 Jan 2025, 11:12
Ich versuche, die Option „Laufzeitbibliothek“ von Microsoft Visual Studio C++ zu verstehen.
Laut /MD, /MT, /LD (Laufzeitbibliothek verwenden) [MS Learn ] gibt es 6 Optionen. Dabei handelt es sich im Wesentlichen um drei Optionen, die es in den Varianten Debug und Release gibt.
Wo stelle ich die Option /LD ein?
Auf der Website heißt es:
Aus dieser Anweisung bei /LD:
Impliziert /MT es sei denn, Sie geben ausdrücklich /MD an.
Ich komme zu dem Schluss, dass es sich hierbei um unterschiedliche Optionen handeln muss, sonst könnte ich /LD und /MD nicht gleichzeitig angeben .
Ich verwende Visual Studio 2022 Preview, Version 17.13.0 Vorschau 2.1. Mein Projekttyp ist eine „Dynamic-Link Library (DLL)“. Konfigurationseigenschaften / Allgemein / Konfigurationstyp lautet „Dynamische Bibliothek (.dll)“.

Dies sind alle Compiler-Befehlszeilenargumente, wenn ich /MT für die Debug-Konfiguration spezifiziere:
Warum? In diesem Beispiel [MSDN] heißt es, ich solle mit cl /EHsc /W4 /MD /LD test1Dll.cpp kompilieren. Ich weiß, ich könnte das entweder einfach in der Befehlszeile tun oder /LD in den zusätzlichen Befehlszeilenoptionen der Benutzeroberfläche hinzufügen. Aber ich möchte ein besseres Verständnis erlangen und nicht einfach blind irgendwelchen Anweisungen folgen.
Laut /MD, /MT, /LD (Laufzeitbibliothek verwenden) [MS Learn ] gibt es 6 Optionen. Dabei handelt es sich im Wesentlichen um drei Optionen, die es in den Varianten Debug und Release gibt.
Wo stelle ich die Option /LD ein?
Auf der Website heißt es:
- Öffnen Sie das Dialogfeld „Eigenschaftenseiten“ des Projekts. Weitere Informationen finden Sie unter Festlegen von C++-Compiler- und Build-Eigenschaften in Visual Studio.
- Wählen Sie die Eigenschaftenseite „Konfigurationseigenschaften > C/C++ > Codegenerierung“ aus.
- Ändern Sie die Eigenschaft der Laufzeitbibliothek.
Aus dieser Anweisung bei /LD:
Impliziert /MT es sei denn, Sie geben ausdrücklich /MD an.
Ich komme zu dem Schluss, dass es sich hierbei um unterschiedliche Optionen handeln muss, sonst könnte ich /LD und /MD nicht gleichzeitig angeben .
Ich verwende Visual Studio 2022 Preview, Version 17.13.0 Vorschau 2.1. Mein Projekttyp ist eine „Dynamic-Link Library (DLL)“. Konfigurationseigenschaften / Allgemein / Konfigurationstyp lautet „Dynamische Bibliothek (.dll)“.

Dies sind alle Compiler-Befehlszeilenargumente, wenn ich /MT für die Debug-Konfiguration spezifiziere:
Code: Select all
/JMC /permissive- /Yu"pch.h" /ifcOutput "x64\Debug\" /GS /W3 /Zc:wchar_t
/ZI /Gm- /Od /sdl /Fd"x64\Debug\vc143.pdb" /Zc:inline /fp:precise
/D "_DEBUG" /D "DYNAMICLIBRARY_EXPORTS" /D "_WINDOWS" /D "_USRDLL" /D "_WINDLL"
/D "_UNICODE" /D "UNICODE"
/errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /MT /FC /Fa"x64\Debug\" /EHsc
/nologo /Fo"x64\Debug\" /Fp"x64\Debug\DynamicLibrary.pch" /diagnostics:column