Практическое руководство. Компиляция кода MFC и ATL с помощью параметра /clr

В этом разделе описывается компиляция существующих программ MFC и ATL для целевой среды CLR.

Компиляция исполняемого файла MFC или обычной библиотеки DLL MFC с помощью /clr

  1. Щелкните проект правой кнопкой мыши в Обозреватель решений и выберите пункт "Свойства".

  2. В диалоговом окне "Свойства проекта" разверните узел рядом со свойствами конфигурации и выберите "Общие". В области справа в разделе "Значения по умолчанию проекта" установите поддержкусреды CLR (/clr).

    На той же панели убедитесь, что для использования MFC задано значение "Использовать MFC" в общей библиотеке DLL.

  3. В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". Убедитесь, что для формата сведений отладки задано значение Program Database /Zi (не /ZI).

  4. Выберите узел создания кода. Установите параметр "Включить минимальное перестроение " (/Gm-). Кроме того, установите для базовых провероксреды выполнения значение по умолчанию.

  5. В разделе "Свойства конфигурации" выберите C/C++ и создание кода. Убедитесь, что для библиотеки среды выполнения задано значение DLL с несколькими потоками (/MDd) или многопоточная библиотека DLL (/MD).

  6. В Stdafx.h добавьте следующую строку.

    #using <System.Windows.Forms.dll>
    

Компиляция библиотеки DLL расширения MFC с помощью /clr

  1. Выполните действия, описанные в разделе "Компиляция исполняемого файла MFC или обычной библиотеки DLL MFC с помощью /clr".

  2. В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите предварительно скомпилированные заголовки. Задайте для параметра Create/Use Precompiled Headers значение Not using Precompiled Headers.

    В качестве альтернативы в Обозреватель решений щелкните правой кнопкой мыши Stdafx.cpp и выберите пункт "Свойства". В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". Задайте для компиляции поддержку cl language Runtime без поддержки среды CLR.

  3. Для файла, содержащего библиотеку DllMain и все, что вызывается, в Обозреватель решений щелкните файл правой кнопкой мыши и выберите пункт "Свойства". В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". В области справа в разделе "Значения по умолчанию проекта" установите параметр "Компиляция с поддержкой среды CLR" без поддержки среды CLR.

Компиляция исполняемого файла ATL с помощью /clr

  1. В Обозреватель решений щелкните проект правой кнопкой мыши и выберите пункт "Свойства".

  2. В диалоговом окне "Свойства проекта" разверните узел рядом со свойствами конфигурации и выберите "Общие". В области справа в разделе "Значения по умолчанию проекта" установите поддержкусреды CLR (/clr).

  3. В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". Убедитесь, что для формата сведений отладки задано значение Program Database /Zi (не /ZI).

  4. Выберите узел создания кода. Установите параметр "Включить минимальное перестроение " (/Gm-). Кроме того, установите для базовых провероксреды выполнения значение по умолчанию.

  5. В разделе "Свойства конфигурации" выберите C/C++ и создание кода. Убедитесь, что для библиотеки среды выполнения задано значение DLL с несколькими потоками (/MDd) или многопоточная библиотека DLL (/MD).

  6. Для каждого созданного MIDL-файла (C-файлов) щелкните правой кнопкой мыши файл в Обозреватель решений и выберите пункт "Свойства". В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". Задайте для компиляции поддержку cl language Runtime без поддержки среды CLR.

Компиляция БИБЛИОТЕКи DLL ATL с помощью /clr

  1. Выполните действия, описанные в разделе "Компиляция исполняемого файла ATL с помощью /clr".

  2. В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите предварительно скомпилированные заголовки. Задайте для параметра Create/Use Precompiled Headers значение Not using Precompiled Headers.

    В качестве альтернативы в Обозреватель решений щелкните правой кнопкой мыши Stdafx.cpp и выберите пункт "Свойства". В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". Задайте для компиляции поддержку cl language Runtime без поддержки среды CLR.

  3. Для файла, содержащего библиотеку DllMain и все, что вызывается, в Обозреватель решений щелкните файл правой кнопкой мыши и выберите пункт "Свойства". В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". В области справа в разделе "Значения по умолчанию проекта" установите параметр "Компиляция с поддержкой среды CLR" без поддержки среды CLR.

См. также

Смешанные (собственные и управляемые) сборки