![]() |
|
![]() ![]() ![]() |
|
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 2 Всего: 20 |
Собираю программу на Windows server 2003 + VS2005 + Qt 4.3
Все нормально собирается и работает. Переношу программу на машину с XP - вылетает ошибка "приложение корректно настроено, повторная установка поможет исправть проблему". В чем может быть проблема ? -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
zayacnk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.2.2010 Репутация: нет Всего: нет |
||||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 2 Всего: 20 |
когда собираю на WinXP и переношу программу на Windows Server 2003 - работает нормально.
А когда делаю наоборот - не работает Добавлено через 2 минуты и 39 секунд На обоих пк стоит VS2005 и Qt 4.3 -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
NewDima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: нет Всего: 12 |
Artemon, попробуйте на другой машине с XP
|
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
msvc*.dll каких-нибудь не хватает
|
|||
|
||||
quarz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 7.1.2005 Репутация: 1 Всего: 3 |
||||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 2 Всего: 20 |
Нет друзья, боюсь что вы не поняли.
Обе машины - девелоперские, на обоих есть все необходимые библиотеки. Если делаю компиляцию программы на машине с WinXP (также включаю все библиотеки crt, manifest) и переношу на машину с Win2003, то все работает отлично. Если делаю компиляцию программы на машине с Win2003 (также включаю все библиотеки crt, manifest) и переношу на машину с WinXP (хоть девелоперскую, хоть чистую) - вылетает сообщение об ошибке. Вообще у меня сервер, который по-ночам делает сборки программ - основан на Win2003, отсюда мне и нужно чтобы сборки с него работали и на XP. -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
пробовал не брать с win2003 crt и manifest, а просто установить vcredist на target компьютере с winXP ?
У меня точно такие же средства, только QT 4.4.3 (но думаю это не важно) и всё работает -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 2 Всего: 20 |
Смысл устанавливать vcredist, если уже стоит VS2005 ?
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 4 Всего: 121 |
Ну заюзай dependency walker, может всё-таки в версиях где-то разошлись. Либо проблемы в манифестом, запусти утилитку Dbgview, посмотри что туда падает. Либо я всегда врубаю OllyDBG, гружу там прогу и смотрю потом Log (Alt-L), там видно на какой библиотеке завалилось и в чём ошибка.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 2 Всего: 20 |
Вот что выяснил:
Собранный на Win2003 exe файл (debug версия) не работает на XP, вообще никак, даже при наличии VS2005. Собранный на Win2003 exe файл (release версия) работает при наличии redist_x86. -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
Artemon, ё моё чувак.
для работы приложения собранного 2003 студией нужны библы msvc*7*.dll, для 2005 msvc*80.dll возьми эти длл с собой и все. Добавлено через 5 минут и 11 секунд и вот еще одно решение твоей проблемы |
|||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 2 Всего: 20 |
chaos, я же написал, что оба компа девелоперских, и везде есть redist_x86 и VS2005 стоит.
Проблема НЕ в отсутствии библиотек, а похоже в разных версиях crt на WinXP и Win2003 -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
||||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
А Qt собиралась на каждой машине отдельно? Сервис-паки какие на машинах?
Ну и.. наконец - может просто выложите нерабочий экзешник, посмотрим, чего не хватает ![]() |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
||||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 2 Всего: 20 |
При загрузке программы в Depends - он ругается, что мол чего-то не хватает, НО НЕ ГОВОРИТ ЧЕГО, и не показывается каких-то не найденных зависимостей. Если обычно чего-то не хватает, то он показывал желтым значком.
OllyDbg, вообще отказывается запускать такой exe Добавлено через 3 минуты и 34 секунды Qt не собирал, ставил уже собранную комерческую версию 4.3 Добавлено через 5 минут и 50 секунд Файлы типа msvc*80d.dll, тоже пробовал подсовывать, не помогло. Именно файлы с буквой d в конце. Т.к. мне нужна дебажная сборка, работающая на других компах. -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Рантайм студии 2005 и выше "подсунуть" нельзя. Про это уже ни раз писалось, там загрузка через WinSxS.
Можешь выложить файл? |
|||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 2 Всего: 20 |
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Во-первых, у тебя там ссылки на две версии VC 8.0 CRT (что не особо хорошо): 8.0.50727.4053, 8.0.50727.762. Лично у меня первой из них нету. Быстрый поиск показывает, что это патч на VC++ 2005 SP1 CRT (KB973544). После установки дебаг-версии CRT этой версии у меня VC-шные зависимости разрезольвились нормально (не хватает ещё Qt-шных библиотек). Но.. в любом случае референсить два рантайма - как-то странно..
Вообщем, итоговый вывод: 1. Ссылка на древнюю версию CRT идёт от кутешных библиотек (как я понимаю, взятых из странных источников). 2. Студии на компах стоят разные. На одном с апдейтами, на другом - без. Ну или как-т так. Это сообщение отредактировал(а) Любитель - 28.2.2010, 00:23 |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
Любитель, как доктор Хаус прям
![]() ![]() |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
можно. буквально вчера была такая же проблема (debug-версия программы на win2003 server). Скопировал каталог WinSxS с developer-ской машины на target-овскую, без замены существующих файлов, и всё заработало. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Artemon |
|
||||||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 2 Всего: 20 |
Что значит странные источники ? У меня лицензия от QT, по ссылке что они дали и взял.
Ты под установкой имеешь ввиду, что ты скопировал дебажные dll в папку с exe ?
Да, я тоже в конце exe файла увидел два рантайма, но как отключить один из них ? Это сообщение отредактировал(а) Artemon - 28.2.2010, 09:04 -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
||||||
|
|||||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 2 Всего: 20 |
Посмотрел на обоих машинах, что за студии стоят,
на XP - Professional Edition SP1, FremeWork 2.0 SP1 на 2003 - Team Edition SP1, FremeWork 2.0 SP2 Добавлено через 1 минуту и 10 секунд
Жестокий вариант, хотелосьбы подсунуть эти либы в каталог с exe -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Ну, и твоя задача (запустить debug-версию на другой машине) тоже жестковатая ![]() Для release версии как раз и придуман vcredist_x86, а в твоём случае, если я правильно понял, нужно распространять 2 редиста: от твоей студии и от студии, в которой была собрана Qt. Чтобы этого не делать достаточно откомпилировать Qt на своей машине и распространять только свой редист -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Весь каталог?! Мне вас жалко ![]() А так - ну, блин, магии нету.. Я имел ввиду под "нельзя подсунуть", что нельзя только кинуть длл-ку и всё. Понятно, что действия любого vc**_redist можно выполнить вручную.. Ну.. во-первых, всё таки замечу ещё раз, что это странное решение. Но, если очень хочется, то можно вместо централизованного хранилища использовать фичу прайват-сборок. Для этого понадобится: 1. Сама длл-ка (msvcr80d.dll) 2. Манифест Microsoft.VC80.DebugCRT.manifest Оба их можно взять в папке со студией: VC\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT. Если на компьютере будет установлена сборка удовлетворяющая по версии (т. е. такая же, что в заэмбеженном манифесте экзешника или совместимая), то будет использоваться она. Если нет - та, которую ты "подсунешь". Правда, я навскидку не скажу, что будет с твоими двумя ссылками.. Возможно придётся править этот манифест, чтобы реальные длл-ки считались совместимыми с обеими версиями (конечно, при этом они и реально должны быть совместимы..). Ну и, наконец, AFAIK легально дебаг длл-ки распространяются только со студией (ну или с апдейтами для неё). Все другие способы - незаконны.
Пиши, плиз правильно - FrEmeWork глаза режет ![]() Профешенал или тим-систем - это в данном случае не влияет. А вот версии сервис-паков (точнее - вообще всех апдейтов для студии) - оч даже влияют.. Добавлено через 5 минут и 44 секунды Ах, да - забыл (в очередной раз) сказать, что делать с этой длл-кой и манифестом. Так вот. Способов два. По приоритету (с точки зрения sxs-лоадера, а не моей, конечно): 1. Положить рядом с экзешником папку Microsoft.VC80.DebugCRT (с манифестом и длл-кой). 2. Положить манифест и длл-ку непосредственно в папку с экзешником. Если нужна совместимость с win 2000 или даже ниже (хотя это уже совсем мистически выглядит), то там всё просто - о SxS-загрузке речь не идёт, используется PE EAT без вариантов. Потому там версии неважны, а длл-ки должны быть либо в папке с экзешником (приоритетней), либо в %PATH%-папках (по порядку). |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |