/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 no tempo de execução para aplicativos vinculados à 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 ao 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 (Nomear arquivo EXE) como a nomeação de uma DLL em vez de um arquivo .exe. Por padrão, o nome do programa se torna basename.dll em vez de basename.exe.

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

Para obter mais informações sobre bibliotecas de runtime do C e quais bibliotecas são usadas quando você compila com /clr (Compilação do Common Language Runtime), confira Recursos da Biblioteca do CRT.

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

Para obter mais informações sobre como usar as versões de depuração das bibliotecas de runtime, confira Referência da biblioteca de runtime do C.

Para saber mais sobre DLLs, confira Criar DLLs do C/C ++ no 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 Propriedades da Configuração>C/C++>Geração de Código.

  3. Modifique a propriedade Biblioteca de Runtime.

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

Confira também

Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC