Измените запрос Lib исполняемого файла

Я в настоящее время использую программу, которая назвала "Запись" созданной 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


Решите:

  1. Установка, по крайней мере, спокойные 5.7.1 на Вашу систему.
  2. Откройте Terminal и тип export LD_LIBRARY_PATH=/Path/to/QT/Qt5.7.1/5.7/gcc_64/lib/
  3. Откройте Write через этот Терминал /path/to/writeExecutable/Write
    Готово

После закрытия этого Терминала или использования другого Окна терминала, необходимо повторить этот процесс.

0
задан 19 March 2019 в 14:33

1 ответ

Отредактировать сам исполняемый файл для использования libreplacement.so.1 вместо liboriginal.so.1 в my_program исполняемый файл:

patchelf --replace-needed liboriginal.so.1 libreplacement.so.1 my_program

Для наблюдения то, что в настоящее время имеет исполняемый файл зависимостей:

ldd my_program

Отсюда: Как я могу изменить имя файла общей библиотеки после создания программы, которая зависит от него?

0
ответ дан 26 October 2019 в 01:08

Другие вопросы по тегам:

Похожие вопросы: