LINUX.ORG.RU

Qt 5.4.1 приложение чтобы запускалось на LiveCD

 , ,


1

1

Вот для маздая есть в комплекте Qt нечто по имени windeployqt - с ним стало в сто раз проще - оно наваливает все нужные библиотеки в папку с программой.

Но есть ли подобное для Linux? Чтобы как минимум Qt-шные библиотеки накидались в папку с бинарем в том составе чтобы это приложение можно было тупо запустить на LiveCD с флэшки?

Чтобы как минимум Qt-шные библиотеки накидались в папку с бинарем в том составе чтобы это приложение можно было тупо запустить на LiveCD с флэшки?

В чем проблема сделать это руками? ldd в руки и вперед.

CrossFire ★★★★★
()
Последнее исправление: CrossFire (всего исправлений: 1)
Ответ на: комментарий от CrossFire

Судя по этому ответу, пока что подобного для Linux + Qt еще не создано?.. А еще плееры клепают на Qt - а вот что на деле надо то :)

I-Love-Microsoft ★★★★★
() автор топика

Где-то валялся скрипт unixdeployqt. Кстати, windeployqt умеет с elf файлами работать. То есть в теории он должен и для линуксов пахать, но что-то не сраслось. А вообще на питоне такая шляпа на раз два три пишется и тоже где-то скрипты в сети валяются.

Gorthauer ★★★★★
()
Ответ на: комментарий от CrossFire

В сырцах креатора есть, но он кривоватый и на баше.

Gorthauer ★★★★★
()

Я так сделал, единственная трудность, которая возникла - нужно в каталог с бинарём подолить директорию platforms с файлом libqxcb.so. А вообще - каждое второе приложение на Qt так делает: 2ГИС, лаунчер игры Hotline Miami, игры Oil Rush, Мультифон, Catalyst Control Center, Autodesk Maya, и IDE, идущий вместе с NVIDIA CUDA.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от CrossFire

В общем, я как-то смог скопировать ВСЕ библиотеки что нужно в папку программы, и даже platforms. Но ошибка всё равно возникает:

listening on interface  QHostAddress(QHostAddress::Any) 
tcp_server ready at port 25000
Cannot mix incompatible Qt library (version 0x50201) with this library (version 0x50401)
Видно что программа даже начала выполняться, это мои строки сыпятся и тут же после старта ловлю Cannot mix incompatible Qt library ибо на LiveCD 5.2.1 а моя версия 5.4.1! Что делать? Как узнать что валит мне программу и не дает работать. Судя по всему это какой-то плагин берется с LiveCD, но какой?

├── libicudata.so.53 -> libicudata.so.53.1
├── libicudata.so.53.1
├── libicui18n.so.53 -> libicui18n.so.53.1
├── libicui18n.so.53.1
├── libicuio.so.53 -> libicuio.so.53.1
├── libicuio.so.53.1
├── libicule.so.53 -> libicule.so.53.1
├── libicule.so.53.1
├── libiculx.so.53 -> libiculx.so.53.1
├── libiculx.so.53.1
├── libicutest.so.53 -> libicutest.so.53.1
├── libicutest.so.53.1
├── libicutu.so.53 -> libicutu.so.53.1
├── libicutu.so.53.1
├── libicuuc.so.53 -> libicuuc.so.53.1
├── libicuuc.so.53.1
├── libQt5Core.so -> libQt5Core.so.5.4.1
├── libQt5Core.so.5 -> libQt5Core.so.5.4.1
├── libQt5Core.so.5.4 -> libQt5Core.so.5.4.1
├── libQt5Core.so.5.4.1
├── libQt5Gui.so -> libQt5Gui.so.5.4.1
├── libQt5Gui.so.5 -> libQt5Gui.so.5.4.1
├── libQt5Gui.so.5.4 -> libQt5Gui.so.5.4.1
├── libQt5Gui.so.5.4.1
├── libQt5Network.so -> libQt5Network.so.5.4.1
├── libQt5Network.so.5 -> libQt5Network.so.5.4.1
├── libQt5Network.so.5.4 -> libQt5Network.so.5.4.1
├── libQt5Network.so.5.4.1
├── libQt5SerialPort.so -> libQt5SerialPort.so.5.4.1
├── libQt5SerialPort.so.5 -> libQt5SerialPort.so.5.4.1
├── libQt5SerialPort.so.5.4 -> libQt5SerialPort.so.5.4.1
├── libQt5SerialPort.so.5.4.1
├── libQt5Widgets.so -> libQt5Widgets.so.5.4.1
├── libQt5Widgets.so.5 -> libQt5Widgets.so.5.4.1
├── libQt5Widgets.so.5.4 -> libQt5Widgets.so.5.4.1
├── libQt5Widgets.so.5.4.1
├── libsnmp++.so -> libsnmp++.so.33.0.4
├── libsnmp++.so.33 -> libsnmp++.so.33.0.4
├── libsnmp++.so.33.0.4
├── platforms
│   ├── libqeglfs.so
│   ├── libqlinuxfb.so
│   ├── libqminimalegl.so
│   ├── libqminimal.so
│   ├── libqoffscreen.so
│   └── libqxcb.so
└── ub-9-3_test_pri
I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

т.е. этот плагин который у меня не полетел это libqxcb? Qt 5.4.1 приложение чтобы запускалось на LiveCD (комментарий)

Добавил: ну я скопировал в папку - и все равно не полетело =(

I-Love-Microsoft ★★★★★
() автор топика
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Похоже что тебе нужно сделать LD_LIBRARY_PATH. Посмотри как сделал я, скачай tar.gz или DEB. Там bin, lib, fonts и run.sh. Что касается libqxcb.so, попробуй сделать на нём ldd.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Дааа!!! Надо было еще libQt5DBus положить, от него этот libqxcb.so зависел! Всё теперь запускается, спасибо, тема решена!

I-Love-Microsoft ★★★★★
() автор топика

Tools/QtCreator/bin/qtcreator.sh - хороший пример как надо сделать запуск

x905 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.