Я в настоящее время использую программу, которая назвала "Запись" созданной Labs Стилуса. Это - единственное приложение файла, которое использует QT5.7, освобождает. Это работающий на моем Ноутбуке с Ubuntu 16.04 x64 Укусило.
На самом деле эта программа предназначается для Ubuntu 17 и не работает исходно на Ubuntu 16.04 из-за недостающих библиотек QT5.7.
После изменения и переименования вручную все необходимые библиотеки в/usr/lib/x86_64-linux-gnu программе хорошо работает.
Но из-за этой путаницы основанные на QT программы как Teamviewer прекращают работать из-за беспорядка.
Я хотел бы изменить цель этой программы, таким образом, я могу уехать, системы освобождает, как они - и вставляют необходимое, освобождает в папку приложения.
Я уже попытался вставить необходимые файлы в ту же папку, в которой приложение, и это не работало. Я также установил QT 5.7.1 и установил более новые папки по умолчанию в масштабе всей системы, но без удачи. Запись все еще смотрит на/usr/lib/x86...
Я надеюсь, что мой вопрос ясен, и если это не, скажите мне, как я могу разъясниться.
Следующие библиотеки были скопированы и вставлены от
/Qt5.7.1/5.7/gcc_64/lib/xxx.so.5.7.1
кому:
/usr/lib/x86_64-linux-gnu/xxx.so.5
заставить Запись работать над человечностью 16.04:
libicudata.so.56
libicudata.so.56.1
libicui18n.so.56
libicui18n.so.56.1
libicuuc.so.56
libicuuc.so.56.1
libQt5Core.so.5
libQt5Gui.so.5
libQt5Network.so.5
libQt5Svg.so.5
libQt5Widgets.so.5
Решите:
export LD_LIBRARY_PATH=/Path/to/QT/Qt5.7.1/5.7/gcc_64/lib/
/path/to/writeExecutable/Write
После закрытия этого Терминала или использования другого Окна терминала, необходимо повторить этот процесс.
Отредактировать сам исполняемый файл для использования libreplacement.so.1
вместо liboriginal.so.1
в my_program
исполняемый файл:
patchelf --replace-needed liboriginal.so.1 libreplacement.so.1 my_program
Для наблюдения то, что в настоящее время имеет исполняемый файл зависимостей:
ldd my_program
Отсюда: Как я могу изменить имя файла общей библиотеки после создания программы, которая зависит от него?