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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Библиотеки Qt5.5 в Ubuntu14.04  (Прочитано 7695 раз)
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« : Июль 06, 2015, 09:07 »

Добрый день.
OS: Ubuntu 14.04.
Как было раньше: установил на свой ПК Qt с официального сайта, написал код, загрузил исходники на целевую машину, установил библиотеки типа qtbase5-dev, а также qmake, выполнил qmake, make, make install.
С чем столкнулся: в репозитории библиотеки от Qt5.2.1, в проекте необходимо использовать QWebSocket, который с версии 5.3. То есть, если загрузить сейчас с сайта Qt5.5 на свой ПК, можно разрабатывать, тестировать. А если попробовать собрать вышеописанным методом проект на целевой машине, то скорее всего будет сообщение что модуль websockets не существует (ибо в версии 5.2.1 его нет).
Поэтому возникает следующий вопрос: загружать исходники и собирать Qt5.5 статически или есть иные варианты развития событий?
« Последнее редактирование: Июль 16, 2015, 12:15 от torwig » Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #1 : Июль 06, 2015, 14:02 »

собрать свой deb пакет с либами 5.5
Записан
sergey2212
Гость
« Ответ #2 : Июль 10, 2015, 10:05 »

как собрать такой deb? Может кто ссылку скинет
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Июль 10, 2015, 11:55 »

на целевую машину установить такой же дистрибутив (.run) Qt 5.5 и по такому же пути, как на машине где разрабатывается.
Записан
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #4 : Июль 10, 2015, 20:17 »

на целевую машину установить такой же дистрибутив (.run) Qt 5.5 и по такому же пути, как на машине где разрабатывается.
Как один из вариантов. Хочется, конечно, не тащить всего "монстра" в виде дистрибутива, а только qmake + библиотеки. Поэтому попробую, как посоветовали, deb-пакет, а на крайний случай, если не выгорит, уже целый дистрибутив установлю.
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #5 : Июль 10, 2015, 22:19 »

http://www.prog.org.ru/index.php?topic=29081.msg213193
Записан
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #6 : Июль 16, 2015, 12:14 »

По совету обитателей этого форума, правда в другой теме, посмотрел как происходит запуск QtCreator, сделал аналогично.
Работает. Спасибо  Улыбающийся
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #7 : Июль 16, 2015, 12:40 »

А как сделали?
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #8 : Июль 17, 2015, 10:01 »

А как сделали?
Взял и "слизал" по примеру QtCreator.
В папку с исполняемым файлом поместил qt.conf с таким содержанием:
Код:
[Paths]
Libraries=lib
И создал такой скрипт для запуска (vcontroller - название исполняемого файла):
Код:
#!/bin/sh

me=`which "$0"`

bindir=`dirname "$me"`
libdir=`cd lib ; pwd`
LD_LIBRARY_PATH=$libdir:$libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
exec "$bindir/vcontroller"
Возможно и без переменной bindir можно было обойтись ибо исполняемый файл лежит рядом со скриптом, а в случае QtCreator - в папке bin.
Плюс рядом с исполняемым файлом находится папка lib, куда скопировал библиотеки (и символьные ссылки).
У меня Qt5.5 установлен по адресу /home/programmer/Qt/Qt5.5.0, поэтому список библиотек для копирования вывел так:
Код:
ldd vcontroller | grep "home"
У меня использовались только core, serialport, websockets и network, список вышел таким:
- libQt5WebSockets.so.5;
- libQt5WebSockets.so.5.5.0
- libQt5Network.so.5
- libQt5Network.so.5.5.0
- libQt5SerialPort.so.5;
- libQt5SerialPort.so.5.5.0
- libQt5Core.so.5;
- libQt5Core.so.5.5.0
- libicui18n.so.54;
- libicui18n.so.54.1;
- libicuuc.so.54;
- libicuuc.so.54.1;
- libicudata.so.54.
- libicudata.so.54.1;
И судя по всему qt.conf не нужен ибо у меня была там ошибка (../lib было) и все равно запускалось.
А на целевую машину уже планирую deb-пакетом устанавливать все это добро.

п.с. Если у кого есть замечания/дополнения, с удовольствием выслушаю.
Магию вот этого выражения не понял ибо не эксперт в bash:
Код:
${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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