Russian Qt Forum
Ноябрь 24, 2024, 03:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Portable приложение в QT  (Прочитано 8692 раз)
Anton
Гость
« : Ноябрь 25, 2011, 19:05 »

Скажите, пожалуйста, как написанное на QT приложение заставить работать на абсолютно любом ПК без установки? То есть чтобы программа была portable. Заранее спасибо!
Записан
andrew.k
Гость
« Ответ #1 : Ноябрь 25, 2011, 19:14 »

Судя по вопросу речь идет о windows.
например, положить рядом с исполняемым файлом qt-библиотеки и плагины, которые оно использует.
Плагины должны лежать в соответствующих директориях.
Записан
Anton
Гость
« Ответ #2 : Ноябрь 25, 2011, 23:18 »

Да, конечно же о WIndows.
А как могу я узнать, какие библиотеки использует приложение? Лично я сам никаких дополнительных библиотек не подключал 
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Ноябрь 25, 2011, 23:53 »

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

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
andrew.k
Гость
« Ответ #4 : Ноябрь 26, 2011, 00:29 »

Исчерпывающий ответ.
Добавлю лишь, что я пользуюсь для этих целей Total Commander с плагином fileinfo
Там одна из вкладок dll dependency. Она и показывает то, что тебя интересует с полным путем файла и каких не хватает.
Просто F3 на файл и ты видишь, чего не хватает.
Записан
Anton
Гость
« Ответ #5 : Ноябрь 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.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #6 : Ноябрь 26, 2011, 01:33 »

а вообще обычно достаточно положить возле экзешника (собранного в режиме релиз) QtCore4.dll и QtGui4.dll
буква d означает debug, так что надо или те или те в зависимости от сборки (ну обычно никто не распространяет приложения, собранные в режиме дебаг).
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Anton
Гость
« Ответ #7 : Ноябрь 26, 2011, 02:08 »

Собирал я и в режиме релиз, все та же ошибка....
Записан
chu
Гость
« Ответ #8 : Ноябрь 26, 2011, 03:43 »

У меня обычно еще библиотеки libeay32.dll, mingwm10, libgcc_s_dw2-1 приложения просят
Записан
Anton
Гость
« Ответ #9 : Ноябрь 26, 2011, 16:38 »

этого у меня приложение не просило....
Записан
andrew.k
Гость
« Ответ #10 : Ноябрь 26, 2011, 16:41 »

этого у меня приложение не просило....
Значит, твоему приложению она не нужна
Записан
Anton
Гость
« Ответ #11 : Ноябрь 26, 2011, 19:31 »

Ну проблема то остается - ошибка та выскакивает....
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #12 : Ноябрь 26, 2011, 19:33 »

Не оттуда библиотеки взяли.
Другой версии или другого компилятора.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #13 : Ноябрь 26, 2011, 20:25 »

он небось либы креатора положил
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #14 : Ноябрь 26, 2011, 21:08 »

он небось либы креатора положил
да, похоже надо уточнить: нужные библиотеки лежат в QTDIR\bin, где QTDIR - это папка, в которой находится сама библиотека, например c:\QtSDK\Desktop\Qt\4.7.4\mingw\
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.105 секунд. Запросов: 23.