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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблемы распространения программы на Linux  (Прочитано 3954 раз)
wolfut
Гость
« : Ноябрь 02, 2011, 09:38 »

Доброго времени суток!

Я переношу программный код на Linux (с ним у меня первое знакомство), готовлюсь к релизу. У меня два вопроса.

Первый: как организовать ссылки на библиотеки QT, сейчас после команды ldd программа ссылается на три библиотеки:

   
Код:
libQtSql.so.4 => /home/or/QtSDK/Desktop/Qt/474/gcc/lib/libQtSql.so.4 (0x00891000)
libQtGui.so.4 => /home/or/QtSDK/Desktop/Qt/474/gcc/lib/libQtGui.so.4 (0x008d3000)
libQtCore.so.4 => /home/or/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4 (0x003ed000)

Как сделать так, чтобы приложение ссылалось на такие же библиотеки, но лежащие рядом с исполняемым файлом? (от статической версии отказался в связи обязательной покупкой Qt)

Второй вопрос: Сейчас я собираю под Ubuntu 11.4, моё приложение также ссылается на библиотеки:
        
Код:
        libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00110000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0x0015d000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x00129000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0x00248000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00264000)
libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0x0014f000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0x003c5000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0x006c0000)
libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0x00797000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0x007bc000)
libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0x007d1000)
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0x0f14b000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0x00154000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0x00868000)
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0x00880000)
libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0x09e8d000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0x03f96000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0x0c468000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x0088a000)
/lib/ld-linux.so.2 (0x003cf000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0x08b24000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0x0d666000)
libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0x1f030000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0x07944000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0x09e2d000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0x1633f000)

Что-то из них уникально для Ubuntu? На какой ОС семейства Linux лучше собрать релиз для совместимости с другими линуксподобными системами?
« Последнее редактирование: Ноябрь 02, 2011, 09:41 от wolfut » Записан
SASA
Гость
« Ответ #1 : Ноябрь 02, 2011, 10:21 »

Смотри как делает КуТе Креатор.
Записан
ddrtn
Гость
« Ответ #2 : Ноябрь 02, 2011, 12:20 »

переменная LD_LIBRAYRY_PATH содержит список путей, по которым искать либы. Почитайте про нее, а также про поиск либ по умолчанию в linu. там не так работает, как в винде
Записан
Dovgon
Гость
« Ответ #3 : Ноябрь 02, 2011, 12:55 »

Библиотеки ложатся в /usr/lib/, если собираешся делать rpm установи зависемости от необходимых библиотек.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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