Partager via


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

Mise à jour : novembre 2007

Permet d'indiquer si un module multithread est une DLL et de sélectionner les versions commerciale ou debug de la bibliothèque Runtime.

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

Notes

Option

Description

/MD

Indique à votre application d'utiliser les versions spécifiques multithread et DLL de la bibliothèque Runtime. Définit _MT ainsi que _DLL, et indique au compilateur de placer aussi le nom de la bibliothèque MSVCRT.lib dans le fichier .obj.

Les applications compilées avec cette option sont liées statiquement à 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 effectif est contenu dans MSVCR90.DLL, qui doit être disponible au moment de l'exécution pour les applications liées avec MSVCRT.lib.

Lorsque /MD est utilisé avec la définition du préprocesseur _STATIC_CPPLIB (/D_STATIC_CPPLIB), votre application se lie au multithread statique de la bibliothèque C++ standard (libcpmt.lib) et non à la version dynamique (msvcprt.lib), tout en restant liée de façon dynamique au CRT principal via msvcrt.lib.

Notez que la combinaison de la définition du préprocesseur _STATIC_CPPLIB et de l'option du compilateur /clr ou /clr:pure n'est pas prise en charge. Pour plus d'informations sur les limitations de l'option /clr, consultez Restrictions de /clr.

/MDd

Définit _DEBUG, _MT ainsi que _DLL, et indique à votre application d'utiliser les versions spécifiques multithread de débogage et DLL de la bibliothèque Runtime. Le compilateur place aussi le nom de la bibliothèque MSVCRTD.lib dans le fichier .obj.

/MT

Indique à votre application d'utiliser la version multithread statique 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 de placer le nom de la bibliothèque LIBCMTD.lib dans le fichier .obj de façon à ce que l'éditeur de liens utilise LIBCMTD.lib pour résoudre les symboles externes.

/LD

Crée une DLL.

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

Lie le code de démarrage DLL.

Crée une bibliothèque d'importation (.lib), si un fichier d'exportation (.exp) n'est pas 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 le fait d'affecter un nom à une DLL et non pas à un fichier .exe ; le nom du programme par défaut devient nombase.dll à la place de nombase.exe.

Implique /MT à moins que vous spécifiiez /MDexplicitement.

/LDd

Crée une DLL de débogage. Définit _MT et _DEBUG.

Pour plus d'informations sur les bibliothèques Runtime C et les bibliothèques qui sont utilisées lors de la compilation avec /clr (Compilation pour le Common Language Runtime), consultez C Run-Time Libraries.

Tous les modules passés à un appel donné de l'éditeur de liens ont dû être compilés avec la même option du compilateur de bibliothèque Runtime (/MD, /MT, /LD).

Pour plus d'informations sur l'utilisation des versions Debug des bibliothèques Runtime, consultez Run-Time Library Reference.

L'article de la Base de connaissances Q140584 décrit également comment choisir la bibliothèque Runtime C appropriée.

Pour une description supplémentaire des DLL, consultez DLL.

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 Comment : ouvrir les pages de propriétés d'un projet.

  2. Cliquez sur le dossier C/C++.

  3. Cliquez sur la page de propriétés Génération de code.

  4. Modifiez la propriété Bibliothèque runtime.

Pour définir cette option du compilateur par programme

Voir aussi

Référence

Options du compilateur

Définition des options du compilateur