/MD, /MT, /LD (Utiliser la bibliothèque Runtime)

Indique si un module multithread est une DLL et spécifie les versions retail ou debug de la bibliothèque Runtime.

Syntaxe

/MD[d]
/MT[d]
/LD[d]

Notes

Option Description
/MD Indique à l'application d'utiliser la version multithread spécifique à la DLL de la bibliothèque Runtime. Définit _MT et _DLL, puis indique au compilateur de placer le nom de la bibliothèque MSVCRT.lib dans le fichier .obj.

Les applications compilées avec cette option sont liées de manière statique à MSVCRT.lib. Cette bibliothèque fournit une couche de code qui permet à l'éditeur de liens de résoudre des références externes. Le code de travail réel est contenu dans MSVCRversionnumber.DLL, qui doit être disponible au moment de l’exécution pour les applications liées à MSVCRT.lib.
/MDd Définit _DEBUG, _MT et _DLL, puis indique à l'application d'utiliser la version debug multithread spécifique à la DLL de la bibliothèque Runtime. Le compilateur place également le nom de la bibliothèque MSVCRTD.lib dans le fichier .obj.
/MT Indique à l'application d'utiliser la version statique multithread de la bibliothèque Runtime. Définit _MT et indique au compilateur de placer le nom de la bibliothèque LIBCMT.lib dans le fichier .obj de façon à ce que l'éditeur de liens utilise LIBCMT.lib pour résoudre les symboles externes.
/MTd Définit _DEBUG et _MT. Cette option indique également au compilateur d'ajouter le nom de bibliothèque LIBCMTD.lib dans le fichier .obj afin que l'Éditeur de liens utilise LIBCMTD.lib pour résoudre les symboles externes.
/LD Crée une DLL.

Transmet l’option /DLL à l’éditeur de liens. L'éditeur de liens recherche, mais n'exige pas, une fonction DllMain. Si vous n'écrivez pas de fonction DllMain, l'éditeur de liens insère une fonction DllMain qui retourne TRUE.

Lie le code de démarrage de la DLL.

Crée une bibliothèque d'importation (.lib), si aucun fichier d'exportation (.exp) n'est spécifié sur la ligne de commande. Vous liez la bibliothèque d'importation aux applications qui appellent votre DLL.

Interprète /Fe (nom de fichier EXE) comme nommant une DLL plutôt qu’un fichier .exe. Par défaut, le nom du programme devient basename.dll au lieu de basename.exe.

Implique /MT, sauf si vous spécifiez explicitement /MD.
/LDd Crée une DLL de débogage. Définit _MT et _DEBUG.

Pour plus d’informations sur les bibliothèques d’exécution C et les bibliothèques utilisées lorsque vous compilez avec /clr (Compilation Common Language Runtime), consultez fonctionnalités de la bibliothèque CRT.

Tous les modules passés à un appel donné de l’éditeur de liens doivent avoir été compilés avec la même option de compilateur de bibliothèque d’exécution (/MD, /MT, /LD).

Pour plus d’informations sur l’utilisation des versions de débogage des bibliothèques d’exécution, consultez Référence de la bibliothèque runtime C.

Pour plus d’informations sur les DLL, consultez Créer des DLL C/C++ dans Visual Studio.

Pour définir cette option du compilateur dans l'environnement de développement Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  2. Sélectionnez la page de propriétés De configuration>C/C++>Génération de code.

  3. Modifiez la propriété De la bibliothèque runtime.

Pour définir cette option du compilateur par programmation

Voir aussi

Options du compilateur MSVC
Syntaxe de la ligne de commande du compilateur MSVC