/MD, /MT, /LD (использование библиотеки времени выполнения)
Указывает, является ли многопоточный модуль библиотекой DLL, и задает версию библиотеки времени выполнения для отладки или выпуска.
Синтаксис
/MD[d]
/MT[d]
/LD[d]
Замечания
Вариант | Описание |
---|---|
/MD | Предписывает приложению использование специальной многопоточной и зависящей от DLL версии библиотеки времени выполнения. Определяет параметры _MT и _DLL и предписывает компилятору размещение имени библиотеки MSVCRT.lib в OBJ-файле.Приложения, компилируемые с этим параметром, статически компонуются с библиотекой MSVCRT.lib. Эта библиотека содержит слой кода, позволяющий компоновщику разрешить внешние ссылки. Фактический рабочий код содержится в номере версии MSVCR.DLL, который должен быть доступен во время выполнения приложениям, связанным с MSVCRT.lib. |
/MDd | Определяет параметры _DEBUG , _MT и _DLL и предписывает приложению использование отладочной многопоточной и зависящей от DLL версии библиотеки времени выполнения. Также предписывает компилятору размещение имени библиотеки MSVCRTD.lib в .obj-файле. |
/MT | Предписывает приложению использовать многопоточную статическую версию библиотеки времени выполнения. Создает определение _MT и указывает компилятору на необходимость размещения имени библиотеки LIBCMT.lib в файле OBJ, чтобы компоновщик использовал библиотеку LIBCMT.lib для разрешения внешних символов. |
/MTd | Создает определения _DEBUG и _MT . Этот параметр также предписывает компилятору размещение имени библиотеки LIBCMTD.lib в .obj-файле, чтобы компоновщик использовал LIBCMTD.lib для разрешения внешних символов. |
/LD | Создает библиотеку DLL. Передает параметр /DLL компоновщику. Компоновщик будет искать функцию DllMain ; тем не менее, она не является обязательной. Если функция DllMain отсутствует, компоновщик вставляет функцию DllMain , возвращающую значение TRUE.Компонует код запуска библиотеки DLL. Создает библиотеку импорта (LIB), если файл экспорта (EXP) не указан в командной строке. Библиотека импорта связывается с приложениями, которые вызывают библиотеку DLL. Интерпретирует /Fe (ИМЯ EXE-файла) как именование библиотеки DLL, а не .exe файла. По умолчанию имя программы становится базовым.dll вместо basename.exe. Подразумевает /MT, если вы явно не укажет /MD. |
/LDd | Создает отладочную библиотеку DLL. Создает определения _MT и _DEBUG . |
Дополнительные сведения о библиотеках времени выполнения C и библиотеках, используемых при компиляции с помощью /clr (компиляция clr), см. в разделе "Функции библиотеки CRT".
Все модули, передаваемые заданному вызову компоновщика, должны быть скомпилированы с тем же параметром компилятора библиотеки времени выполнения (/MD, /MT, /LD).
Дополнительные сведения об использовании отладочных версий библиотек времени выполнения см. в справочнике по библиотеке времени выполнения C.
Дополнительные сведения о библиотеках DLL см. в статье "Создание библиотек DLL C/C++ в Visual Studio".
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Создание кода.
Измените свойство библиотеки среды выполнения.
Установка данного параметра компилятора программным способом
- См. раздел RuntimeLibrary.
См. также
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC