ПОРТАЛ ПРОГРАММИСТОВ
Как сконфигурировать Microsoft Visual С++ 2008 Express чтобы было возможно компилировать 64-битные приложения?


Microsoft Visual C++ 2008 Express поставляется по умолчанию только с поддержкой компиляции 32-битных приложений под Windows.

Так сложилось потому, что Express - это упрощённая версия Professional Visual Studio. Тем не менее, даже Express версия содержит мощные инструменты отладки и алгоритмы оптимизации кода.

Бесплатная Express версия ориентирована на программистов и малые предприятия, которые не могут позволить себе купить на каждую рабочую станцию дорогую профессиональную версию среды разработки.

Фактически, Microsoft предоставляет бесплатные инструменты и для создания 64-битных приложений. Но соответствующие компиляторы включены только в состав бесплатного Windows SDK. И эти SDK обычно работают что называется "из коробки" в профессиональной версии.

В Express версии компиляция 64-битных приложений возможна только после определённых дополнительных настроек, которые весьма запутаны и совершенно не очевидны для многих разработчиков ПО.

Здесь я постараюсь показать как выполнить эти настройки шаг за шагом:

Шаг 1. Установите Windows SDK. Загрузите файл ISO подходящий для вашей машины:

Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)

Для 64-битной Windows это GRMSDKX_EN_DVD.iso, для 32-битной - GRMSDK_EN_DVD.iso.

Шаг 2. Откройте редактор реестра (regedit.exe).

Шаг 3. Внесите изменения в реестр:

Для 64-битной Windows:

Найдите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio\9.0\CLSID и экспортируйте его в файл sdk_data_clsid.reg.

Найдите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio\9.0\VC и экспортируйте его в файл sdk_data_vc.reg.

Найдите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCExpress и экспортируйте его в файл backup_msvc2008exp.reg.

Откройте файлы sdk_data_clsid.reg и sdk_data_vc.reg.

Замените все

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio

на

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCExpress

Сохраните файлы.

Для 32-битной Windows:

Найдите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio\9.0\CLSID и экспортируйте его в файл sdk_data_clsid.reg.

Найдите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio\9.0\VC и экспортируйте его в файл sdk_data_vc.reg.

Найдите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VCExpress и экспортируйте его в файл backup_msvc2008exp.reg.

Откройте файлы sdk_data_clsid.reg и sdk_data_vc.reg.

Замените все

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio

на

HKEY_LOCAL_MACHINE\Software\Microsoft\VCExpress

Сохраните файлы.

Шаг 4. Импортируйте файлы sdk_data_clsid.reg и sdk_data_vc.reg (двойной клик на файле или из regedit).

Шаг 5. Исправьте конфигурационные файлы:

Для 64-битной Windows:

Зайдите в каталог:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages

и переименуйте файл AMD64.VCPlatform.config в AMD64.VCPlatform.Express.config

Для 32-битной Windows:

Зайдите в каталог:

C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages

и переименуйте файл AMD64.VCPlatform.config в AMD64.VCPlatform.Express.config

Примечание

В некоторых случаях возможно ещё потребуется восстановить один DLL файл. Откройте DVD или виртуальный DVD, где находится установщик ISO Windows SDK. Откройте Setup\vc_stdx86.cab с помощью архиватора. Найдите файл FL_VCProjectAMD64Platform_dll_* , нужно его извлечь из архива, переименовать в VCProjectAMD64Platform.dll и скопировать в каталог C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages.

Шаг 6. Откройте среду разработки Microsoft Visual C++ 2008 Express и создайте новый пустой проект.

Шаг 7. Зайдите в меню Build - Configuration Manager. В выпадающем списке Active Solution platform выберите New... , затем в выпадающем списке Platform выберите x64, затем в выпадающем списке Copy settings from выберите Win32, также отметьте Create new project platforms. Нажмите OK.

Это всё. Теперь, выбрав соответствующую опцию (x64 вместо Win32), вы можете легко компилировать 64-битные приложения в бесплатной среде разработки Visual C++ 2008 Express.