/MD, /MT, /LD (Usar biblioteca de tempo de execução)

Indica se um módulo com multithread é uma DLL e especifica versões comerciais ou de depuração da biblioteca em tempo de execução.

Sintaxe

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

Comentários

Opção Descrição
/MD Faz com que o aplicativo use a versão específica de multithread e a versão específica de DLL da biblioteca em tempo de execução. Define _MT e _DLL e faz com que o compilador coloque o nome da biblioteca MSVCRT.lib no arquivo .obj.

Os aplicativos criados com esta opção são vinculados a MSVCRT.lib estaticamente. Essa biblioteca fornece uma camada de código que permite que o vinculador resolva referências externas. O código de trabalho real está contido em MSVCRversionnumber.DLL, que deve estar disponível em tempo de execução para aplicativos vinculados a msvcrt. lib.
/MDd Define _DEBUG, _MT e _DLL, e faz com que o aplicativo use a versão específica de multithread de depuração e a versão específica de DLL da biblioteca em tempo de execução. Também faz com que o compilador coloque o nome da biblioteca MSVCRTD.lib no arquivo .obj.
/MT Faz com que o aplicativo use a versão estática de multithread da biblioteca em tempo de execução. Define _MT e faz com que o compilador coloque o nome da biblioteca LIBCMT.lib no arquivo .obj para que o vinculador use LIBCMT.lib para resolver símbolos externos.
/MTd Define _DEBUG e _MT. Essa opção também faz com que o compilador coloque o nome da biblioteca LIBCMTD.lib no arquivo .obj para que o vinculador use LIBCMTD.lib para resolver símbolos externos.
/LD Cria uma DLL.

Passa a opção /dll para o vinculador. O vinculador procura, mas não requer, uma função DllMain. Se você não grava uma função DllMain, o vinculador insere uma função DllMain que retorna TRUE.

Vincula o código de inicialização da DLL.

Cria uma biblioteca da importação (.lib), se um arquivo de exportação (.exp) não é especificado na linha de comando. Você vinculará a biblioteca de importação aos aplicativos que chamam a DLL.

Interpreta /FE (arquivo exe de nome) como nomear uma dll em vez de um arquivo de .exe. Por padrão, o nome do programa se torna basename.dll em vez de basename.exe.

Implica /MT , a menos que você especifique explicitamente /MD.
/LDd Cria uma DLL de depuração. Define _MT e _DEBUG.

Para obter mais informações sobre bibliotecas de tempo de execução do C e quais bibliotecas são usadas quando você compila com /CLR (compilação em tempo de execução de linguagem comum), consulte recursos da biblioteca do CRT.

Todos os módulos passados para uma determinada invocação do vinculador devem ter sido compilados com a mesma opção de compilador de biblioteca de tempo de execução (/MD, /MT, /LD).

Para obter mais informações sobre como usar as versões de depuração das bibliotecas de tempo de execução, consulte referência da biblioteca do C Run-Time.

Para saber mais sobre DLLs, confira criar DLLs C/C++ em Visual Studio.

Para definir esta opção do compilador no ambiente de desenvolvimento do Visual Studio

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.

  2. Selecione a página de propriedades configuração> degeração de códigoC/C++> .

  3. Modifique a propriedade da biblioteca de tempo de execução .

Para definir essa opção do compilador via programação

Consulte também

opções do compilador MSVC
sintaxe de Command-Line do compilador MSVC