Russian Qt Forum

Qt => Общие вопросы => Тема начата: Anton от Ноябрь 25, 2011, 19:05



Название: Portable приложение в QT
Отправлено: Anton от Ноябрь 25, 2011, 19:05
Скажите, пожалуйста, как написанное на QT приложение заставить работать на абсолютно любом ПК без установки? То есть чтобы программа была portable. Заранее спасибо!


Название: Re: Portable приложение в QT
Отправлено: andrew.k от Ноябрь 25, 2011, 19:14
Судя по вопросу речь идет о windows.
например, положить рядом с исполняемым файлом qt-библиотеки и плагины, которые оно использует.
Плагины должны лежать в соответствующих директориях.


Название: Re: Portable приложение в QT
Отправлено: Anton от Ноябрь 25, 2011, 23:18
Да, конечно же о WIndows.
А как могу я узнать, какие библиотеки использует приложение? Лично я сам никаких дополнительных библиотек не подключал 


Название: Re: Portable приложение в QT
Отправлено: kambala от Ноябрь 25, 2011, 23:53
можно использовать dependency walker для просмотра зависимостей. а вообще обычно достаточно положить возле экзешника (собранного в режиме релиз) QtCore4.dll и QtGui4.dll (последняя нужна если твое приложение использует графический интерфейс). чтоб узнать наверняка какие модули ты используешь, можно заглянуть в свой .pro файл и поискать строки вида qt += ляляля (при использовании visual studio и установленном Qt VS-addin можно нажать правой кнопкой на свой проект (именно проект/project, не решение/solution) - Qt modules по-моему).


Название: Re: Portable приложение в QT
Отправлено: andrew.k от Ноябрь 26, 2011, 00:29
Исчерпывающий ответ.
Добавлю лишь, что я пользуюсь для этих целей Total Commander с плагином fileinfo (http://wincmd.ru/plugring/fileinfo.html)
Там одна из вкладок dll dependency. Она и показывает то, что тебя интересует с полным путем файла и каких не хватает.
Просто F3 на файл и ты видишь, чего не хватает.


Название: Re: Portable приложение в QT
Отправлено: Anton от Ноябрь 26, 2011, 01:21
Быть может, я не так что желаю? Список библиотек, которые Qt у меня потребовал, состоит аж из 6 пунктов: QtCore4, QtGui4, QtCored4, QtGuid4, QtNetwork4, QtNetworkd4. Все эти библиотеки я любезно положил в папку с приложением, а при запуске появилась следующая ошибка: http://s51.radikal.ru/i133/1111/8c/0526ed5cce9b.png
В чем проблема? И, более того, как то многовато библиотек получается с собой таскать, и уж очень «тяжелое» получается приложение…можно ли как то сбавить объем?
P.S. Поскольку только «примеряюсь» к Qt, то в качестве примера приложения используется пример текстового редактора из библиотеки демо-программ QT.


Название: Re: Portable приложение в QT
Отправлено: kambala от Ноябрь 26, 2011, 01:33
а вообще обычно достаточно положить возле экзешника (собранного в режиме релиз) QtCore4.dll и QtGui4.dll
буква d означает debug, так что надо или те или те в зависимости от сборки (ну обычно никто не распространяет приложения, собранные в режиме дебаг).


Название: Re: Portable приложение в QT
Отправлено: Anton от Ноябрь 26, 2011, 02:08
Собирал я и в режиме релиз, все та же ошибка....


Название: Re: Portable приложение в QT
Отправлено: chu от Ноябрь 26, 2011, 03:43
У меня обычно еще библиотеки libeay32.dll, mingwm10, libgcc_s_dw2-1 приложения просят


Название: Re: Portable приложение в QT
Отправлено: Anton от Ноябрь 26, 2011, 16:38
этого у меня приложение не просило....


Название: Re: Portable приложение в QT
Отправлено: andrew.k от Ноябрь 26, 2011, 16:41
этого у меня приложение не просило....
Значит, твоему приложению она не нужна


Название: Re: Portable приложение в QT
Отправлено: Anton от Ноябрь 26, 2011, 19:31
Ну проблема то остается - ошибка та выскакивает....


Название: Re: Portable приложение в QT
Отправлено: LisandreL от Ноябрь 26, 2011, 19:33
ошибка: http://s51.radikal.ru/i133/1111/8c/0526ed5cce9b.png
Не оттуда библиотеки взяли.
Другой версии или другого компилятора.


Название: Re: Portable приложение в QT
Отправлено: Авварон от Ноябрь 26, 2011, 20:25
он небось либы креатора положил


Название: Re: Portable приложение в QT
Отправлено: kambala от Ноябрь 26, 2011, 21:08
он небось либы креатора положил
да, похоже надо уточнить: нужные библиотеки лежат в QTDIR\bin, где QTDIR - это папка, в которой находится сама библиотека, например c:\QtSDK\Desktop\Qt\4.7.4\mingw\


Название: Re: Portable приложение в QT
Отправлено: andrew.k от Ноябрь 26, 2011, 21:28
Сейчас посмотрел, у креатора кутишные либы отличаются.
У него они какие-то особенные??


Название: Re: Portable приложение в QT
Отправлено: Disaron от Ноябрь 27, 2011, 21:53
Может собраны другим компилятором (M$овским например), или покоцаны только для удовлетворения нужд креатора/ассистанта. Можно ради интереса подложить из Qt и посмотреть что получится...


Название: Re: Portable приложение в QT
Отправлено: panAlexey от Ноябрь 28, 2011, 09:03
Поставь чистую винду на виртуалку например виртуал-бокс.
И на ней вычисли комплект с пом. депенсиволкера.
https://www.virtualbox.org/