Скомпилированная программа на С++ в Visual Studio Professional 2013 не будет работать с Windows XP SP3
Я обычно ненавижу задавать вопросы, но у меня есть я в тупике.
Я создаю небольшую игру с использованием С++ и Allegro5 в Visual Studio Professional 2013. Я использовал набор инструментов платформы Visual Studio 2013 - Windows XP (v120_xp) и удостоверился, что распространяемый дистрибутив Visual С++ 2013 был установлен на целевой машине.
Я разрабатываю с использованием Windows 8.1, на целевой машине работает Windows XP SP2.
Всякий раз, когда я пытаюсь запустить программу, я получаю сообщение о том, что .exe не является допустимым приложением Win32.
Даже если я не использую что-либо, связанное с .NET, я убедился, что был установлен на целевой машине.
Я также убедился, что сама программа является 32-разрядным приложением.
Я действительно не уверен, что попробовать дальше. Я искал последние несколько часов и убедился, что все необходимое было установлено. Я до сих пор довольно новичок в этом, поэтому вполне возможно, что я пропустил что-то простое, но я не могу, например, подумать о чем.
Ответы
Ответ 1
вам нужно установить конфигурацию набора инструментов платформы из свойств (предварительный просмотр)
Задайте его значение v120_xp и оно должно работать на windows xp.
прочитать сообщение
http://supportxpdotcom.wordpress.com/2013/07/16/xp-targeting-support-in-the-visual-studio-2013-preview/
посмотреть комментарии
http://blogs.msdn.com/b/vcblog/archive/2013/06/26/visual-studio-2013-preview-now-available.aspx
Ответ 2
У меня только что была исправлена такая же проблема. Возможно, вы забыли установить SUBSYSTEM
:
Перейдите к свойствам проекта → компоновщик → и установите соответствующим образом.
Подробности здесь:
http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx?PageIndex=2
Ответ 3
Вероятно, проблема вызвана другой опцией компилятора: /arch (включить расширенные инструкции). Постарайтесь установить его в /arch: IA32 (без расширенных инструкций).