Показать полную графическую версию : Не работает программа
На писал программу в Visual Studio 2008 (OS Vista) - все работает
Запускаю ее в Windows XP - пишет повторная установка может решить проблему.
В чем может быть проблема.
DAmlex, ого, как много информации, аж глаза разбегаются...
Ну для начала, Vista скольких битаная? Сколько бит компилятор? Сколько бит XP? Что за программа? Работает ли она с какими библиотеками? Используется ли вообще какие-нить внешние объекты?...А может она с БД работает? ммммм....., не знаю, не знаю...
Vista XP Компилятор 32
библиотека iostream
Внешние объекты не используются
программа типа калькулятор
пишет повторная установка может решить проблему. »
библиотека iostream »
Скорее всего не видет эту библиотеку
Обычно если программа сделана для одной версии Windows(например xp), то она не может(обычно) запуститься в другой(Win98).
Но если наоборот, то
Совместимость программ - это режим Windows, который позволяет выполнять программы, написанные для более ранних версий Windows. Большинство программ, написанных для Windows XP, работают и с данной версией Windows, но некоторые старые программы могут работать плохо или не работать вообще. Если старая программа работает неправильно, запустите мастер совместимости программ для моделирования ранних версий Windows.
WinXP не знает о строении программ в WinVista (а строения разные) поэтому запустить и не может.
Попробуй программу написать в ХР, а потом попытайся запустить в ХР и в VISTA.
Обычно если программа сделана для одной версии Windows(например xp), то она не может(обычно) запуститься в другой(Win98). »
Насколько я понимаю, это касается больших программ, где используются внешние объекты и библиотеки. А если программа представляет из себя просто один exe'шник, то все зависит от компилятора.
Скорее всего не видет эту библиотеку »
А как тогда в Vista запустилась?
Прежде чем приступить к компиляции программы, компилятор C++ запускает специальную программу, которая называется препроцессором. Препроцессор ищет в программе строки, начинающиеся с символа #, например #include или #define. Если препроцессор, например, встречает директиву #include, он включает указанный в ней файл в ваш исходный файл, как будто бы вы сами печатали содержимое включаемого файла в вашем исходном коде. Каждая программа, которую вы создали использовала директиву #include, чтобы заставить препроцессор включить содержимое заголовочного файла iostream.h в ваш исходный файл.
Насколько я понимаю, это касается больших программ, где используются внешние объекты и библиотеки. А если программа представляет из себя просто один exe'шник, то все зависит от компилятора. »
Можно тогда попробовать бесплатные компиляторы(например DevC++)
Возможно, программы из-под vista не запскаються в хр,чтобы все брали новую windows(с её низким рейтингом).
Также(у меня хр3, Visual Studio 2005) при создании проекта General->Empty Project программа запускаеться в win98,использовал совместимость программ в хр, а в остальных - только при отключённой совместимости(с библиотекой iostream).
AlexTNT, попробуй просто в хр скомпилировать
iskander-k
03-05-2009, 17:12
FRZ, AlexTNT, Что-то вы ребята между собой заговорились, а топикстартер наверное уже забыл про это.
А проблема скорее всего в том , что у Vista и ХР разные библиотеки. И прога написанная в Висте не имеет библиотеки и т.д. для запуска в ХР.
AlexTNT, попробуй просто в хр скомпилировать »
FRZ, Это проблема у с запуском DAmlex, , а не у AlexTNT,
AlexTNT, :) я тоже
iskander-k, да, вижу, напутал, сорри =)
решил проверить в следующей версии windows 7 там тоже не работает.
в чем может быть проблема
DAmlex,
Обычно если программа сделана для одной версии Windows(например xp), то она не может(обычно) запуститься в другой(Win98). »
Всё дело в разных строениях операционных систем.
Попробуй в Win7 включить совместимость программ с Win Vista.
Ytpyfqrf
30-05-2009, 16:23
как же достал этот вопрос... :)
Не переживай у многих в начале с визуал студио такая проблема бывает.
1
project - properties - c\c++ - code generation - runtime library поставить в /MT (у тебя стоит либо /MTd либо /MD).
2
попробуй еще
в свойствах проекта сделать так
Linker -> Manifest File -> Generate Manifest -> No
3
либу цепляешь РЕЛИЗНУЮ, а компилишь в ДЕБАГЕ. вы вообще хоть немного разницу чуете? переключись в релиз, ключ /MT оставь
ключ поставь в /MT, и переглючись в релиз (чтобы появлялась папка release). как переключиться в релиз? долго смотри в упор на окно вижлы, примерно по центру сверху увидишь комбо бокс. там 2 выбора, debug и release.
DAmlex, попробуйте установить NET.Framework на те ос, куда вы ставите ваши программы.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.