/MD, /MT, /LD (использование библиотеки времени выполнения)
Позволяют указать, что многопотоковый модуль является библиотекой DLL, и выбрать версию библиотеки времени выполнения для отладки или выпуска.
/MD[d]
/MT[d]
/LD[d]
Заметки
Параметр |
Описание |
---|---|
/MD |
Указывает на то, что приложение должно использовать многопотоковую версию библиотеки времени выполнения для библиотек DLL.Создает определения _MT и _DLL и указывает компилятору на необходимость размещения имени библиотеки MSVCRT.lib в файле OBJ. Приложения, компилируемые с этим параметром, статически компонуются с библиотекой MSVCRT.lib.Эта библиотека содержит прослойку кода, позволяющую компоновщику разрешить внешние ссылки.Реально работающий код находится в библиотеке MSVCR100.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, а не базовое_имя.exe. Параметр /MT подразумевается в неявной форме, если только не был явно указан параметр /MD. |
/LDd |
Создает отладочную библиотеку DLL.Создает определения _MT и _DEBUG. |
Дополнительные сведения о библиотеках времени выполнения и том, какие библиотеки используются при компиляции с параметром /clr (компиляция CLR), см. в разделе Функции библиотеки CRT.
Все модули, передаваемые компоновщику при конкретном вызове, должны компилироваться с одним и тем же параметром компилятора, указывающим библиотеку времени выполнения (/MD, /MT, /LD).
Дополнительные сведения об использовании отладочных версий библиотек времени выполнения см. в разделе Справочник по библиотеке времени выполнения языка c.
В статье базы знаний Q140584 также описывается порядок выбора подходящей библиотеки времени выполнения C.
Дополнительные сведения о библиотеках DLL см. в разделе Библиотека DLL в Visual C++.
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта.Дополнительные сведения см. в разделе Открытие свойств страниц проекта.
Откройте папку C/C++.
Выберите страницу свойств Создание кода.
Измените значение свойства Библиотека времени выполнения.
Установка данного параметра компилятора программным способом
- Дополнительные сведения см. в разделе RuntimeLibrary.