crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> проблема переноса на другой комп, 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  


Цитата(wdefik @ 14.6.2010, 5:45) *
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  


Цитата(DIMEDROLL @ 14.6.2010, 8:57) *
Цитата
после этого удаляю переменные среды для библиотек

это как?

Цитата
если переношу на комп без 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


Цитата(Litkevich Yuriy @ 14.6.2010, 4:22) *
Цитата(wdefik @ 14.6.2010, 5:45) *
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  


Цитата(Litkevich Yuriy @ 14.6.2010, 4:22) *
Цитата(wdefik @ 14.6.2010, 5:45) *
dependency walker показывает что нужны след либы:
ты программу запусти в нём (Profile -> start profiling...) и посмотри, что программе требуется уже во время выполнения.

Скорее всего нужен плагин qglgraphicssystem.
Подробности о развёртывании приложений: Как распространять программы использующие Qt в MS Windows?


спасибо за ссылку :) добавил в папку qglgraphicssystems и imageformats
На висте заработало! :) а на ХР, где не установлена Qt та же проблема. собирал-то я на ХР.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 22:38