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

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

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

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

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

64-разрядные инструменты по умолчанию недоступны на Visual C ++ Express. Чтобы включить 64-разрядные инструменты на Visual C ++ Express, установите пакет разработки программного обеспечения Windows (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 с пакетом обновления 1 (SP1), если установлен Windows SDK v7.1.

Инструкции по его устранению см. В KB2519277 на сайте поддержки Microsoft.

Загрузите SDK Windows, а затем перейдите в меню «Вид» -> «Свойства» -> «Диспетчер конфигурации» -> «Платформа для активных решений» -> «Создать» -> 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 можно снова установить отлично.

С уважением

Interesting Posts

Обнаружить приложение установлено или нет?

Почему в этом коде нельзя использовать функцию защищенного члена classа?

Оператор VBA «И» оценивает второй аргумент, когда первый является ложным?

Десятичная и двойная скорость

Скрыть путь к файлу в строке заголовка в Sublime Text

Виртуальные таблицы и макет памяти в нескольких виртуальных наследования

Только PDF Загрузить

Пролог: Фильтрация списка?

HQL присоединился к запросу, чтобы получить большое количество связей

Замена текста H1 на изображение логотипа: лучший способ для SEO и доступности?

Распространение имен для не-машинных IP-адресов в домашней сети

Любая разница между java.time.Clock.systemDefaultZone (). GetZone () vs java.util.TimeZone.getDefault (). ToZoneId ()?

Как сделать целое число log2 () в C ++?

Позорное java.sql.SQLException: не найдено подходящего драйвера

Почему ему не удалось загрузить атрибут манифеста основного classа из JAR-файла?

Давайте будем гением компьютера.