проблема переноса на другой комп, qt программы |
Здравствуйте, гость ( Вход | Регистрация )
проблема переноса на другой комп, qt программы |
wdefik |
14.6.2010, 1:45
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 4.3.2010 Пользователь №: 1505 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет.
Проблема видимо не новая, наверное кто-то скажет, что сто раз обсуждалось и тд. если это так, прошу ссылку, если нет - помощи. Приложение нужно срочно, перенести не получается. Сборка QT динамическая. написал проект на qt + opengl собираю релиз версию прописывая в файле myproject.pro CONFIG+=qt warn_off release после этого удаляю переменные среды для библиотек , копирую из G:\Qt\2009.04\qt\lib библиотеки QtCore4.dll,QtGui.dll,QtOpenGl4.dll и mingwm10.dll из G:\Qt\2009.04\qt\bin запускаю,радуюсь переношу приложение с этими библиотеками на другой комп, где тоже установлена Qt. запускаю - окно приложения открывается, но не работает. копирую к экзешнику аналогичные либы из qt этого компа - работает, но уже не радуюсь, так как при переносе обратно на тот комп, ничего конечно же не запускается. если переношу на комп без qt - окно открывается, но opengl-сцена вся размазанная и из каких-то квадратиков и не работает как правильно собирать релиз - версию, какие либы тащить? буду невероятно благодарен за помощь! Всем привет. Проблема видимо не новая, наверное кто-то скажет, что сто раз обсуждалось и тд. если это так, прошу ссылку, если нет - помощи. Приложение нужно срочно, перенести не получается. Сборка QT динамическая. написал проект на qt + opengl собираю релиз версию прописывая в файле myproject.pro CONFIG+=qt warn_off release после этого удаляю переменные среды для библиотек , копирую из G:\Qt\2009.04\qt\lib библиотеки QtCore4.dll,QtGui.dll,QtOpenGl4.dll и mingwm10.dll из G:\Qt\2009.04\qt\bin запускаю,радуюсь переношу приложение с этими библиотеками на другой комп, где тоже установлена Qt. запускаю - окно приложения открывается, но не работает. копирую к экзешнику аналогичные либы из qt этого компа - работает, но уже не радуюсь, так как при переносе обратно на тот комп, ничего конечно же не запускается. если переношу на комп без qt - окно открывается, но opengl-сцена вся размазанная и из каких-то квадратиков и не работает как правильно собирать релиз - версию, какие либы тащить? Все это происходит на Windows XP буду невероятно благодарен за помощь! dependency walker показывает что нужны след либы: QtCore4.dll-----------------копирую QtGui4.dll-------------------копирую QtOpenGl4.dll--------------копирую openGl32.dll----------------по идее всегда должна быть на компе MSVCRT.dll----------------по идее всегда должна быть на компе mingwm10.dll-------------копирую kernel32.dll----------------по идее всегда должна быть на компе DWMapi.dll----------------пишет что не найден, но насколько я знаю, в ХР он ни при чем |
|
|
Litkevich Yuriy |
14.6.2010, 3:22
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
dependency walker показывает что нужны след либы: ты программу запусти в нём (Profile -> start profiling...) и посмотри, что программе требуется уже во время выполнения.Скорее всего нужен плагин qglgraphicssystem. Подробности о развёртывании приложений: Как распространять программы использующие Qt в MS Windows? |
|
|
DIMEDROLL |
14.6.2010, 7:57
Сообщение
#3
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
Цитата после этого удаляю переменные среды для библиотек это как? Цитата если переношу на комп без qt - окно открывается, но opengl-сцена вся размазанная и из каких-то квадратиков :) и не работает :) я думаю что тут дело в дровах на opengl вместо того что бы писать "тот" и "этот" комп, лучше пометь их как комп А и комп Б и напиши откуда и куда ты что то копируешь, а то не совсем понятно |
|
|
wdefik |
14.6.2010, 11:34
Сообщение
#4
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 4.3.2010 Пользователь №: 1505 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата после этого удаляю переменные среды для библиотек это как? Цитата если переношу на комп без qt - окно открывается, но opengl-сцена вся размазанная и из каких-то квадратиков и не работает я думаю что тут дело в дровах на opengl вместо того что бы писать "тот" и "этот" комп, лучше пометь их как комп А и комп Б и напиши откуда и куда ты что то копируешь, а то не совсем понятно ок Дано: Комп А = комп на котором я писал и собирал свою прогу, на котором установлена qt Комп B = комп для тестирования работоспособности программы, на котором тоже установлена qt Комп С = любой другой, без установленного Qt. после этого удаляю переменные среды для библиотек - удаляю пути к либам из Path я конечно в курсе, что при запуске приложения либы в первую очередь ищутся в той папке, в которой оно запускается.. Но я уже ни во что не верю Так вот, на компе А, приложение запускается нормально. При тестировании на Компе В, приложение с либами из компа А, запускается вроде нормально - у меня при запуске сразу же примитивная Огл сцена, но например фунция Qimage::load возвращает всегда false. После замены библиотек, которые пришли с компа А, на либы собранные на компе В, все замечательно работает. На всех С-компах первоначальная Огл-сцена вообше непонятно что, и файлы не загружаются. Может нужно что-то дополнительно прописывать а pro-файле при сборке? |
|
|
DIMEDROLL |
14.6.2010, 11:43
Сообщение
#5
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
кто знает, может и надо
я юзаю студию и пока что все в порядке было и на своем и на чужих компьютерах... а какие версии Qt ты используешь? проверь на всякий случай версию OpenGL этой утилиткой скачать мне она помогла когда был баг с рендером |
|
|
wdefik |
14.6.2010, 12:16
Сообщение
#6
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 4.3.2010 Пользователь №: 1505 Спасибо сказали: 0 раз(а) Репутация: 0 |
вот, с профайлингом при запуске пишет что все либы загружены
Loaded "NTDLL.DLL" at address 0x7C900000. Successfully hooked module. Loaded "KERNEL32.DLL" at address 0x7C800000. Successfully hooked module. Loaded "MINGWM10.DLL" at address 0x6FBC0000. Successfully hooked module. Loaded "MSVCRT.DLL" at address 0x77C00000. Successfully hooked module. Loaded "OPENGL32.DLL" at address 0x5F220000. Successfully hooked module. Loaded "ADVAPI32.DLL" at address 0x77DC0000. Successfully hooked module. Loaded "RPCRT4.DLL" at address 0x77E70000. Successfully hooked module. Loaded "SECUR32.DLL" at address 0x77FE0000. Successfully hooked module. Loaded "GDI32.DLL" at address 0x77F10000. Successfully hooked module. Loaded "USER32.DLL" at address 0x7E360000. Successfully hooked module. Loaded "GLU32.DLL" at address 0x5FF90000. Successfully hooked module. Loaded "DDRAW.DLL" at address 0x73720000. Successfully hooked module. Loaded "DCIMAN32.DLL" at address 0x73B80000. Successfully hooked module. Loaded "QTCORE4.DLL" at address 0x6A1C0000. Successfully hooked module. Loaded "OLE32.DLL" at address 0x774D0000. Successfully hooked module. Loaded "WS2_32.DLL" at address 0x71A90000. Successfully hooked module. Loaded "WS2HELP.DLL" at address 0x71A80000. Successfully hooked module. Loaded "QTGUI4.DLL" at address 0x65100000. Successfully hooked module. Loaded "COMDLG32.DLL" at address 0x76380000. Successfully hooked module. Loaded "COMCTL32.DLL" at address 0x5D5B0000. Successfully hooked module. Loaded "SHELL32.DLL" at address 0x7C9C0000. Successfully hooked module. Loaded "SHLWAPI.DLL" at address 0x77F60000. Successfully hooked module. Loaded "IMM32.DLL" at address 0x76360000. Successfully hooked module. Loaded "OLEAUT32.DLL" at address 0x77110000. Successfully hooked module. Loaded "WINMM.DLL" at address 0x76B20000. Successfully hooked module. Loaded "WINSPOOL.DRV" at address 0x72FC0000. Successfully hooked module. Loaded "QTOPENGL4.DLL" at address 0x6D040000. Successfully hooked module. Entrypoint reached. All implicit modules have been loaded. А плагины какое имеют отношение к моей проге? там вообще ничего нет, просто Qt + QtOpenGL dependency walker показывает что нужны след либы: ты программу запусти в нём (Profile -> start profiling...) и посмотри, что программе требуется уже во время выполнения.Скорее всего нужен плагин qglgraphicssystem. Подробности о развёртывании приложений: Как распространять программы использующие Qt в MS Windows? вот, с профайлингом при запуске пишет что все либы загружены Loaded "NTDLL.DLL" at address 0x7C900000. Successfully hooked module. Loaded "KERNEL32.DLL" at address 0x7C800000. Successfully hooked module. Loaded "MINGWM10.DLL" at address 0x6FBC0000. Successfully hooked module. Loaded "MSVCRT.DLL" at address 0x77C00000. Successfully hooked module. Loaded "OPENGL32.DLL" at address 0x5F220000. Successfully hooked module. Loaded "ADVAPI32.DLL" at address 0x77DC0000. Successfully hooked module. Loaded "RPCRT4.DLL" at address 0x77E70000. Successfully hooked module. Loaded "SECUR32.DLL" at address 0x77FE0000. Successfully hooked module. Loaded "GDI32.DLL" at address 0x77F10000. Successfully hooked module. Loaded "USER32.DLL" at address 0x7E360000. Successfully hooked module. Loaded "GLU32.DLL" at address 0x5FF90000. Successfully hooked module. Loaded "DDRAW.DLL" at address 0x73720000. Successfully hooked module. Loaded "DCIMAN32.DLL" at address 0x73B80000. Successfully hooked module. Loaded "QTCORE4.DLL" at address 0x6A1C0000. Successfully hooked module. Loaded "OLE32.DLL" at address 0x774D0000. Successfully hooked module. Loaded "WS2_32.DLL" at address 0x71A90000. Successfully hooked module. Loaded "WS2HELP.DLL" at address 0x71A80000. Successfully hooked module. Loaded "QTGUI4.DLL" at address 0x65100000. Successfully hooked module. Loaded "COMDLG32.DLL" at address 0x76380000. Successfully hooked module. Loaded "COMCTL32.DLL" at address 0x5D5B0000. Successfully hooked module. Loaded "SHELL32.DLL" at address 0x7C9C0000. Successfully hooked module. Loaded "SHLWAPI.DLL" at address 0x77F60000. Successfully hooked module. Loaded "IMM32.DLL" at address 0x76360000. Successfully hooked module. Loaded "OLEAUT32.DLL" at address 0x77110000. Successfully hooked module. Loaded "WINMM.DLL" at address 0x76B20000. Successfully hooked module. Loaded "WINSPOOL.DRV" at address 0x72FC0000. Successfully hooked module. Loaded "QTOPENGL4.DLL" at address 0x6D040000. Successfully hooked module. Entrypoint reached. All implicit modules have been loaded. А плагины какое имеют отношение к моей проге? там вообще ничего нет, просто Qt + QtOpenGL |
|
|
wdefik |
14.6.2010, 13:36
Сообщение
#7
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 4.3.2010 Пользователь №: 1505 Спасибо сказали: 0 раз(а) Репутация: 0 |
dependency walker показывает что нужны след либы: ты программу запусти в нём (Profile -> start profiling...) и посмотри, что программе требуется уже во время выполнения.Скорее всего нужен плагин qglgraphicssystem. Подробности о развёртывании приложений: Как распространять программы использующие Qt в MS Windows? спасибо за ссылку добавил в папку qglgraphicssystems и imageformats На висте заработало! а на ХР, где не установлена Qt та же проблема. собирал-то я на ХР. |
|
|
Текстовая версия | Сейчас: 22.12.2024, 16:39 |