Есть ли простой способ скомпилировать 64-битное приложение с 32-битной версией Visual C ++ 2010 Express? Какие конфигурации необходимы?
Есть ли простой способ скомпилировать 64-битное приложение с 32-битной версией Visual C ++ 2010 Express? Какие конфигурации необходимы?
Ответы:
Вот пошаговая инструкция:
В любом случае эти шаги сработали для меня. Некоторые дополнительные сведения о шаге 2 можно найти в ссылке от Microsoft, упомянутой на предыдущем плакате: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx .
64-разрядные инструменты по умолчанию недоступны в Visual C ++ Express. Чтобы включить 64-разрядные инструменты в Visual C ++ Express, установите Windows Software Development Kit (SDK) в дополнение к Visual C ++ Express. В противном случае при попытке настроить проект для 64-разрядной платформы с помощью Visual C ++ Express возникает ошибка.
Как: настроить проекты Visual C ++ для работы с 64-разрядными платформами
Ссылка: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx
И убедитесь, что вы загрузили Windows7 .1 SDK, а не только Windows 7. Это вызвало у меня головокружение.
Я нашел важный шаг, который нужно добавить к этому - после того, как вы установили SDK, перейдите в свойства своего проекта и измените Configuration Properties-> General-> Platform Toolset с v100 или чего-то еще на Windows7.1SDK. Это меняет $ (WindowsSdkDir) на нужное место и, похоже, решает некоторые другие трудности, с которыми я столкнулся.
Обратите внимание, что компиляторы Visual C ++ удаляются при обновлении Visual Studio 2010 Professional или Visual Studio 2010 Express до Visual Studio 2010 SP1, если установлен Windows SDK v7.1.
Инструкции по решению этой проблемы см. В статье KB2519277 на сайте поддержки Microsoft.
Программирование в 64-битной среде сильно отличается от 32-битной. Сгенерированный код имеет совершенно другую структуру сборки в 32- и 64-битном коде, даже протоколы взаимодействия с функциями меняются. Таким образом, вы не можете сгенерировать 64-битный код с помощью 32-битного компилятора.
Возможно, вы захотите увидеть статью на веб-сайте Microsoft о нацеливании на 64-битную цель, но с использованием 32-битной машины разработки.
Как сказал Якоб: windows sdk 7.1 не может быть установлен, если присутствуют среды выполнения MS VC ++ x64 и x86 и redisrtibutables версии 10.0.40219. после их удаления установка win sdk в порядке, VS C ++ SP1 можно снова установить нормально.
С уважением