Como compilar código MFC e ATL usando /clr

Este tópico discute como compilar programas MFC e ATL existentes para direcionar o Common Language Runtime.

Para compilar uma DLL MFC executável ou regular usando /clr

  1. Clique com o botão direito do mouse em Gerenciador de Soluções e, em seguida, clique em Propriedades.

  2. Na caixa de diálogo Propriedades do Projeto, expanda o nó ao lado das Propriedades de Configuração e selecione Geral. No painel direito, em Padrões do Projeto, defina Suporte ao Common Language Runtime como Suporte a Common Language Runtime (/clr).

    No mesmo painel, verifique se o Uso de MFC está definido como Usar MFC em uma DLL Compartilhada.

  3. Em Propriedades de Configuração, expanda o nó ao lado de C/C++ e selecione Geral. Confirme se Formato de Informações de Depuração está definido como Banco de Dados do Programa /Zi (não /ZI).

  4. Selecione o nó Geração de Código. Defina Habilitar Recompilação Mínima como Não (/Gm-). Defina também Verificações Básicas de Runtime como Padrão.

  5. Em Propriedades de Configuração, selecione C/C++ e, em seguida, Geração de Código. Verifique se Biblioteca em Tempo de Execução está definida como DLL de Depuração Multi-threaded (/MDd) ou DLL multi-threaded (/MD).

  6. Em Stdafx.h, adicione a linha a seguir.

    #using <System.Windows.Forms.dll>
    

Para compilar uma DLL de extensão MFC usando /clr

  1. Siga as etapas em "Para compilar uma DLL MFC executável ou regular usando /clr".

  2. Em Propriedades de Configuração, expanda o nó ao lado de C/C++ e selecione Cabeçalhos Pré-compilados. Defina Criar/Usar Cabeçalho Pré-compilado como Não usar cabeçalhos pré-compilados.

    Como alternativa, em Gerenciador de Soluções, clique com o botão direito do mouse em Stdafx.cpp e, em seguida, clique em Propriedades. Em Propriedades de Configuração, expanda o nó ao lado de C/C++ e selecione Geral. Defina Compilar com suporte a Common Language Runtime como Sem suporte a Common Language Runtime.

  3. Para o arquivo que contém DllMain e qualquer coisa que ela chama, no Gerenciador de Soluções, clique com o botão direito do mouse no arquivo e clique em Propriedades. Em Propriedades de Configuração, expanda o nó ao lado de C/C++ e selecione Geral. No painel direito, em Padrões do Projeto, defina Compilar com suporte a Common Language Runtime como Sem suporte a Common Language Runtime.

Para compilar um executável ATL usando /clr

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e, em seguida, clique em Propriedades.

  2. Na caixa de diálogo Propriedades do Projeto, expanda o nó ao lado das Propriedades de Configuração e selecione Geral. No painel direito, em Padrões do Projeto, defina Suporte ao Common Language Runtime como Suporte a Common Language Runtime (/clr).

  3. Em Propriedades de Configuração, expanda o nó ao lado de C/C++ e selecione Geral. Confirme se Formato de Informações de Depuração está definido como Banco de Dados do Programa /Zi (não /ZI).

  4. Selecione o nó Geração de Código. Defina Habilitar Recompilação Mínima como Não (/Gm-). Defina também Verificações Básicas de Runtime como Padrão.

  5. Em Propriedades de Configuração, selecione C/C++ e, em seguida, Geração de Código. Verifique se Biblioteca em Tempo de Execução está definida como DLL de Depuração Multi-threaded (/MDd) ou DLL multi-threaded (/MD).

  6. Para cada arquivo gerado por MIDL (arquivos C), clique com o botão direito do mouse no arquivo em Gerenciador de Soluções e, em seguida, clique em Propriedades. Em Propriedades de Configuração, expanda o nó ao lado de C/C++ e selecione Geral. Defina Compilar com suporte a Common Language Runtime como Sem suporte a Common Language Runtime.

Para compilar uma DLL ATL usando /clr

  1. Siga as etapas na seção "Para compilar um executável ATL usando /clr".

  2. Em Propriedades de Configuração, expanda o nó ao lado de C/C++ e selecione Cabeçalhos Pré-compilados. Defina Criar/Usar Cabeçalho Pré-compilado como Não usar cabeçalhos pré-compilados.

    Como alternativa, em Gerenciador de Soluções, clique com o botão direito do mouse em Stdafx.cpp e, em seguida, clique em Propriedades. Em Propriedades de Configuração, expanda o nó ao lado de C/C++ e selecione Geral. Defina Compilar com suporte a Common Language Runtime como Sem suporte a Common Language Runtime.

  3. Para o arquivo que contém DllMain e qualquer coisa que ela chama, no Gerenciador de Soluções, clique com o botão direito do mouse no arquivo e clique em Propriedades. Em Propriedades de Configuração, expanda o nó ao lado de C/C++ e selecione Geral. No painel direito, em Padrões do Projeto, defina Compilar com suporte a Common Language Runtime como Sem suporte a Common Language Runtime.

Confira também

Assemblies mistos (nativos e gerenciados)