Войти

Показать полную графическую версию : Не работает программа


DAmlex
24-04-2009, 19:13
На писал программу в Visual Studio 2008 (OS Vista) - все работает
Запускаю ее в Windows XP - пишет повторная установка может решить проблему.
В чем может быть проблема.

FRZ
24-04-2009, 20:59
DAmlex, ого, как много информации, аж глаза разбегаются...

Ну для начала, Vista скольких битаная? Сколько бит компилятор? Сколько бит XP? Что за программа? Работает ли она с какими библиотеками? Используется ли вообще какие-нить внешние объекты?...А может она с БД работает? ммммм....., не знаю, не знаю...

DAmlex
25-04-2009, 09:10
Vista XP Компилятор 32
библиотека iostream
Внешние объекты не используются
программа типа калькулятор

FRZ
25-04-2009, 14:51
пишет повторная установка может решить проблему. »
библиотека iostream »
Скорее всего не видет эту библиотеку

AlexTNT
26-04-2009, 13:30
Обычно если программа сделана для одной версии Windows(например xp), то она не может(обычно) запуститься в другой(Win98).
Но если наоборот, то
Совместимость программ - это режим Windows, который позволяет выполнять программы, написанные для более ранних версий Windows. Большинство программ, написанных для Windows XP, работают и с данной версией Windows, но некоторые старые программы могут работать плохо или не работать вообще. Если старая программа работает неправильно, запустите мастер совместимости программ для моделирования ранних версий Windows.
WinXP не знает о строении программ в WinVista (а строения разные) поэтому запустить и не может.
Попробуй программу написать в ХР, а потом попытайся запустить в ХР и в VISTA.

FRZ
27-04-2009, 18:08
Обычно если программа сделана для одной версии Windows(например xp), то она не может(обычно) запуститься в другой(Win98). »
Насколько я понимаю, это касается больших программ, где используются внешние объекты и библиотеки. А если программа представляет из себя просто один exe'шник, то все зависит от компилятора.

AlexTNT
30-04-2009, 16:33
Скорее всего не видет эту библиотеку »
А как тогда в Vista запустилась?
Прежде чем приступить к компиляции программы, компилятор C++ запускает специальную программу, которая называется препроцессором. Препроцессор ищет в программе строки, начинающиеся с символа #, например #include или #define. Если препроцессор, например, встречает директиву #include, он включает указанный в ней файл в ваш исходный файл, как будто бы вы сами печатали содержимое включаемого файла в вашем исходном коде. Каждая программа, которую вы создали использовала директиву #include, чтобы заставить препроцессор включить содержимое заголовочного файла iostream.h в ваш исходный файл.
Насколько я понимаю, это касается больших программ, где используются внешние объекты и библиотеки. А если программа представляет из себя просто один exe'шник, то все зависит от компилятора. »
Можно тогда попробовать бесплатные компиляторы(например DevC++)
Возможно, программы из-под vista не запскаються в хр,чтобы все брали новую windows(с её низким рейтингом).
Также(у меня хр3, Visual Studio 2005) при создании проекта General->Empty Project программа запускаеться в win98,использовал совместимость программ в хр, а в остальных - только при отключённой совместимости(с библиотекой iostream).

FRZ
01-05-2009, 00:54
AlexTNT, попробуй просто в хр скомпилировать

AlexTNT
02-05-2009, 14:38
FRZ, я компилирую в ХР .

iskander-k
03-05-2009, 17:12
FRZ, AlexTNT, Что-то вы ребята между собой заговорились, а топикстартер наверное уже забыл про это.
А проблема скорее всего в том , что у Vista и ХР разные библиотеки. И прога написанная в Висте не имеет библиотеки и т.д. для запуска в ХР.

AlexTNT, попробуй просто в хр скомпилировать »
FRZ, Это проблема у с запуском DAmlex, , а не у AlexTNT,

FRZ
03-05-2009, 20:37
AlexTNT, :) я тоже
iskander-k, да, вижу, напутал, сорри =)

DAmlex
12-05-2009, 19:11
решил проверить в следующей версии windows 7 там тоже не работает.
в чем может быть проблема

AlexTNT
14-05-2009, 22:13
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.

AlexTNT
12-06-2009, 14:45
DAmlex, попробуйте установить NET.Framework на те ос, куда вы ставите ваши программы.




© OSzone.net 2001-2012