Практическое руководство. Компиляция кода MFC и ATL с помощью параметра /clr
В этом разделе описывается компиляция существующих программ MFC и ATL для целевой среды CLR.
Компиляция исполняемого файла MFC или обычной библиотеки DLL MFC с помощью /clr
Щелкните проект правой кнопкой мыши в Обозреватель решений и выберите пункт "Свойства".
В диалоговом окне "Свойства проекта" разверните узел рядом со свойствами конфигурации и выберите "Общие". В области справа в разделе "Значения по умолчанию проекта" установите поддержку среды CLR (/clr).
На той же панели убедитесь, что для использования MFC задано значение "Использовать MFC" в общей библиотеке DLL.
В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". Убедитесь, что для формата сведений отладки задано значение Program Database /Zi (не /ZI).
Выберите узел создания кода. Установите параметр "Включить минимальное перестроение " (/Gm-). Кроме того, установите для базовых проверок среды выполнения значение по умолчанию.
В разделе "Свойства конфигурации" выберите C/C++ и создание кода. Убедитесь, что для библиотеки среды выполнения задано значение DLL с несколькими потоками (/MDd) или многопоточная библиотека DLL (/MD).
В Stdafx.h добавьте следующую строку.
#using <System.Windows.Forms.dll>
Компиляция библиотеки DLL расширения MFC с помощью /clr
Выполните действия, описанные в разделе "Компиляция исполняемого файла MFC или обычной библиотеки DLL MFC с помощью /clr".
В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите предварительно скомпилированные заголовки. Задайте для параметра Create/Use Precompiled Headers значение Not using Precompiled Headers.
В качестве альтернативы в Обозреватель решений щелкните правой кнопкой мыши Stdafx.cpp и выберите пункт "Свойства". В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". Задайте для компиляции поддержку cl language Runtime без поддержки среды CLR.
Для файла, содержащего библиотеку DllMain и все, что вызывается, в Обозреватель решений щелкните файл правой кнопкой мыши и выберите пункт "Свойства". В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". В области справа в разделе "Значения по умолчанию проекта" установите параметр "Компиляция с поддержкой среды CLR" без поддержки среды CLR.
Компиляция исполняемого файла ATL с помощью /clr
В Обозреватель решений щелкните проект правой кнопкой мыши и выберите пункт "Свойства".
В диалоговом окне "Свойства проекта" разверните узел рядом со свойствами конфигурации и выберите "Общие". В области справа в разделе "Значения по умолчанию проекта" установите поддержку среды CLR (/clr).
В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". Убедитесь, что для формата сведений отладки задано значение Program Database /Zi (не /ZI).
Выберите узел создания кода. Установите параметр "Включить минимальное перестроение " (/Gm-). Кроме того, установите для базовых проверок среды выполнения значение по умолчанию.
В разделе "Свойства конфигурации" выберите C/C++ и создание кода. Убедитесь, что для библиотеки среды выполнения задано значение DLL с несколькими потоками (/MDd) или многопоточная библиотека DLL (/MD).
Для каждого созданного MIDL-файла (C-файлов) щелкните правой кнопкой мыши файл в Обозреватель решений и выберите пункт "Свойства". В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". Задайте для компиляции поддержку cl language Runtime без поддержки среды CLR.
Компиляция БИБЛИОТЕКи DLL ATL с помощью /clr
Выполните действия, описанные в разделе "Компиляция исполняемого файла ATL с помощью /clr".
В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите предварительно скомпилированные заголовки. Задайте для параметра Create/Use Precompiled Headers значение Not using Precompiled Headers.
В качестве альтернативы в Обозреватель решений щелкните правой кнопкой мыши Stdafx.cpp и выберите пункт "Свойства". В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". Задайте для компиляции поддержку cl language Runtime без поддержки среды CLR.
Для файла, содержащего библиотеку DllMain и все, что вызывается, в Обозреватель решений щелкните файл правой кнопкой мыши и выберите пункт "Свойства". В разделе "Свойства конфигурации" разверните узел рядом с C/C++ и выберите "Общие". В области справа в разделе "Значения по умолчанию проекта" установите параметр "Компиляция с поддержкой среды CLR" без поддержки среды CLR.