Использование ATL COM AppWizard
Создание проекта с использованием ATL COM AppWizard
-
Откройте Visual C++. Выберите команду создать в меню файл и перейдите на вкладку проекты.
-
Выбор ATL COM AppWizard как тип приложения.
-
Введите имя проекта.
-
Нажмите кнопку ОК.

ATL COM AppWizard отображается диалоговое окно отображает параметры, которые применяются в проект ATL:
-
Выберите один из трех типов серверов: Динамически загружаемой библиотеки (DLL) для внутрипроцессного сервера, Исполняемый файл (EXE) на локальном сервере вне процесса или Службы (EXE), который является Windows NT приложение, которое работает в фоновом режиме при запуске NT.
-
Установите флажок Разрешить объединение кода заглушки/прокси-сервера , если маршалинг интерфейсов необходим. Этот параметр помещает созданный MIDL код прокси-сервера и заглушки в той же библиотеки DLL, что и сервер.
-
Установите флажок Поддержка MFC (только для проектов DLL) для использования функции MFC (например CString) в вашем сервере.
-
Установите флажок Поддерживать МТС для изменения параметров построения проекта для поддержки Microsoft Transaction Server. Для получения дополнительных сведений о добавлении поддержки МТС в проект см. МТС поддержка в проектах ATL.
Нажмите кнопку Готово для создания проекта. AppWizard отобразятся сведения о проекте создает и отображает созданный проект в рабочей области проекта.
Примечание При построении проекта, можно выбрать конфигурации MinSize или MinDependency . MinSize будет создавать меньше компонент, так как общий код будет использоваться от Atl.dll. В этом случае необходимо распространять Atl.dll с компонентом. MinDependency будет генерировать крупного компонента, так как все необходимый код будет увязываться с компонентом.
Примечание При построении выпуска версии проекта, вы можете получить следующее сообщение об ошибке связи:
LIBCMT.LIB(crt0.obj): ошибка LNK2001: нерешенные внешний символ _main
Эта ошибка возникает при использовании функций CRT, которые требуют код запуска CRT. Релиз конфигурации определяют _ATL_MIN_CRT, которая исключает код запуска CRT из EXE или DLL. Чтобы избежать этой ошибки, выполните одно из следующих действий:
-
Удалите _ATL_MIN_CRT из списка препроцессор определяет разрешить, чтобы разрешить включение кода запуска CRT. В меню проект нажмите кнопку Параметры. В настройки для: раскрывающийся список, выберите Несколько конфигураций. В конфигурации проекта изменять диалоговое окно Выбор появившемся установите флажки для всех версий выпуска и затем нажмите кнопку ОК. На вкладке C/C++ выберите категорию Общие , а затем удалите _ATL_MIN_CRT из определения препроцессора текстового поля.
-
Если возможно удалите вызовы функций CRT, которые требует код запуска CRT и использовать их эквивалентами Win32. Например lstrcmp вместо используйте strcmp. Известные функции, которые требуют код запуска CRT являются одними из строки и с плавающей точкой функций.