Grundlegendes zu den Optionen der MSVC-Laufzeitbibliothek: Wo soll /LD festgelegt werden?C++

Programme in C++. Entwicklerforum
Guest
 Grundlegendes zu den Optionen der MSVC-Laufzeitbibliothek: Wo soll /LD festgelegt werden?

Post by Guest »

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:
  • Ö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.
Zu diesem Zeitpunkt bietet mein Visual Studio nur /MD, /MT, /MDd an und /MTd. Es ist keine Option /LD oder /LDd verfügbar.
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)“.
Image

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
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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post