Приложение настроено неправильно, ошибка C ++ - PullRequest
0 голосов
/ 17 сентября 2009

Я новичок в C ++. Я сделал программу на C ++, используя VS 2008 Professional. Я начал с шаблона Win32, который создал окно для меня. Я скомпилировал его в Vista 32. Я принес скомпилированный exe на свой старый компьютер XP sp2, и он говорит мне, что конфигурация приложения неверна. Что-то я делаю не так? Как сделать его независимым от платформы?

Спасибо

Ответы [ 5 ]

2 голосов
/ 17 сентября 2009

Попробуйте установить Распространяемый пакет Microsoft Visual C ++ 2008 SP1 и убедитесь, что вы используете сборку выпуска своего приложения.

1 голос
/ 17 сентября 2009

Убедитесь, что для WINVER установлена ​​версия, включающая WinXP - похоже, что целевой версией Windows для VS 2008 по умолчанию является Vista (0x0600).

Установите следующее определение препроцессора:

#define WINVER 0x0501

предпочтительно, используя свойства проекта "C / C ++ / Preprocessor / Preprocessor Definitions" или параметр -D в командной строке cl.exe. Также возможно, что есть файл targetver.h с этим параметром (в зависимости от того, как изначально был создан ваш проект).

Подробнее см. http://msdn.microsoft.com/en-us/library/aa383745(VS.85).aspx.

0 голосов
/ 17 сентября 2009

В свойствах проекта установите "C/C++ -> Code Generation -> Runtime Library" на "Multi-threaded (Debug)". После перестройки приложение больше не будет зависеть от msvcr90.dll. Однако двоичный файл приложения будет несколько больше.

0 голосов
/ 17 сентября 2009

Вы можете использовать Dependency Walker , чтобы найти, каких компонентов не хватает в целевой системе WinXP. Затем вы должны установить соответствующие распространяемые файлы.

0 голосов
/ 17 сентября 2009

В вашей целевой системе отсутствуют необходимые файлы времени выполнения для этого исполняемого файла.

Его можно найти по адресу: Распространяемый пакет Microsoft Visual C ++ 2008 (x86) или Распространяемый пакет Microsoft Visual C ++ 2008 SP1 (x86)

...