Если написать даже элементарную программу "Hello, world" на C++ в Visual Studio 2012
Но всё же имеется возможность собрать программу, которая заработает под WinXP.
Если в свойства проекта > "Свойства конфигурации" > "Общие" в разделе "Набор инструментов платформы" нет элемента "Visual Studio 2012 - Windows XP (v110_xp)":
то нужно установить Обновление 1 (Service pack 1) для Visual Studio 2012. (Может быть можно поставить отдельное обновление, но я не знаю какое). Во время установки можно заметить:
Теперь зайдя в свойства проекта увидим наличие платформы "Visual Studio 2012 - Windows XP (v110_xp)":
Выбрав её и необходимую конфигурацию (см. "Visual Studio: Чем отличается конфигурация Debug от Release" и "Ссылки на распространяемый пакет Microsoft Visual C++"), можно компилировать проект.
#include <cstdio> int main() { printf("Hello, world\n"); return 0; }то на Windows XP программа не запустится, а сообщит, что файл "не является приложением Win32":
Но всё же имеется возможность собрать программу, которая заработает под WinXP.
Если в свойства проекта > "Свойства конфигурации" > "Общие" в разделе "Набор инструментов платформы" нет элемента "Visual Studio 2012 - Windows XP (v110_xp)":
то нужно установить Обновление 1 (Service pack 1) для Visual Studio 2012. (Может быть можно поставить отдельное обновление, но я не знаю какое). Во время установки можно заметить:
Теперь зайдя в свойства проекта увидим наличие платформы "Visual Studio 2012 - Windows XP (v110_xp)":
Выбрав её и необходимую конфигурацию (см. "Visual Studio: Чем отличается конфигурация Debug от Release" и "Ссылки на распространяемый пакет Microsoft Visual C++"), можно компилировать проект.
Спасибо за совет! Все вышеописанное помогло мне запустить программу на XP.
ОтветитьУдалить>>(не забываем про конфигурацию "Release", а также пакеты библиотек).
ОтветитьУдалитьА что будет если забыть?
Эти действия проделываются для каждой конфигурации (обычно, Release и Debug). Если не сделать для Release, то проект скомпилируется, но запускаться не будет. Другими словами, проблема останется.
УдалитьЯ к тому, что если Вы что-то не хотите объяснять, то и упоминать не следует или хотя бы слова "подробней об этом тут". Извините за придирку :)
УдалитьЗамечание абсолютно к месту и по делу :)
УдалитьНаписал сообщение про разные конфигурации и добавил ссылку.
я поставил сразу обновления 2 и такого меню не нашел. подскажите где искать?
ОтветитьУдалитьИзвините, что сразу не ответил, был очень сильно занят.
УдалитьЕсли я правильно понимаю, то обновления 2 вносит некоторые ошибки, которые в обновлении 3 http://support.microsoft.com/kb/2835600/en-us были исправлены (секция "Fixed issues" > "C++"). Попробуйте поставить обновление 3.
Также можно удалить обновление 2 (Панель управления > Программы и компоненты), а затем поставить обновление 1.
Что-нибудь помогло? (Если проблема не ушла, то укажите версию OS и VS.)
Про второй пакет обновлений (SP2) не скажу, но на третьем проблем нет.
Удалить