А как сделали?
Взял и "слизал" по примеру QtCreator.
В папку с исполняемым файлом поместил qt.conf с таким содержанием:
И создал такой скрипт для запуска (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}