Как скомпилировать 64-разрядное приложение с помощью Visual C++ 2010 Express?


есть ли простой способ скомпилировать 64-разрядное приложение с 32-разрядной версией Visual C++ 2010 Express? Какие конфигурации, если таковые имеются, необходимы?

8 128

8 ответов:

вот пошаговые инструкции:

  1. Загрузите и установите Windows Software Development Kit версии 7.1. Visual C++ 2010 Express не включает 64-разрядный компилятор, но SDK делает. Ссылка на SDK:http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
  2. изменить конфигурацию проекта. Перейдите к свойствам вашего проекта. В верхней части диалогового окна появится выпадающее меню "конфигурация". Убедитесь, что выбирает "все конфигурации."Также будет выпадающий список "Платформа", который будет читать " Win32."Наконец справа есть кнопка" Configuration Manager " - нажмите ее. В открывшемся диалоговом окне найдите свой проект, нажмите раскрывающийся список платформа, выберите Создать, затем выберите x64. Теперь измените раскрывающееся меню " Active solution platform "на" x64."Когда вы вернетесь в диалоговое окно "Свойства", раскрывающийся список "платформа" теперь должен читать " x64."
  3. наконец, измените свой набор инструментов. В Меню свойств вашего проекта в разделе свойства конфигурации / общие измените набор инструментов платформы с "v100"на" Windows7.1SDK".

эти шаги работали для меня, в любом случае. Некоторые более подробные сведения о шаге 2 можно найти в ссылке от Microsoft, о которой упоминалось в предыдущем плакате:http://msdn.microsoft.com/en-us/library/9yb4317s.aspx.

64-разрядные инструменты недоступны Visual C++ Express по умолчанию. К включение 64-разрядных средств на Visual C++ Экспресс, установите программное обеспечение Windows Комплект разработки (SDK) в дополнение к Visual C++ Express. В противном случае ошибка возникает при попытке настройка проекта на 64-разрядную версию платформа с использованием Visual C++ Express.

Как настроить проекты Visual C++ для целевой 64-разрядной версии Платформы

Ref: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx

и убедитесь, что вы загрузите Windows7.1 SDK, а не только Windows 7. Это вызвало у меня сильную головную боль.

Я нашел важный шаг, чтобы добавить к этому - после того, как вы установили SDK, перейдите к свойствам проекта и измените свойства конфигурации->общие->набор инструментов платформы от v100 или что бы то ни было до Windows7.1SDK. Это изменяет $(WindowsSdkDir) на нужное место и, похоже, решает некоторые другие трудности, с которыми я столкнулся.

обратите внимание, что компиляторы Visual C++ удаляются при обновлении Visual Studio 2010 Professional или Visual Studio 2010 Express до Visual Studio 2010 SP1, если установлен Windows SDK v7.1.

инструкции по решению этой проблемы см. В разделе KB2519277 на сайте поддержки Microsoft.

загрузите пакет SDK для Windows, а затем перейдите в меню Вид->свойства->Configuration Manager->Active Solution Platform->New->x64.

программирование в 64-разрядной среде сильно отличается от 32-разрядной среды. Сгенерированный код имеет совершенно другую Конституцию сборки в 32 и 64-битном коде, даже протоколы связи с функциями меняются. Таким образом, вы не можете генерировать 64-разрядный код с помощью 32-разрядного компилятора.

вы можете увидеть статья на веб-сайте Microsoft о нацеливании на 64-разрядную цель, но с использованием 32-разрядной машины разработки.

Как сказал Якоб: Windows sdk 7.1 не может быть установлен, если присутствуют среды выполнения MS VC++ x64 и x86 и redisrtibutables версии 10.0.40219. после их удаления win sdk install в порядке, VS C++ SP1 можно установить снова.

с уважением