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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Линьковка собственной библиотеки под Linux  (Прочитано 4388 раз)
Lion
Гость
« : Ноябрь 05, 2009, 18:01 »

Что нужно указать в .pro файле, чтобы программа подгружала библиотеку из произвольного каталога, например из рабочей директории.

Сейчас я делаю вот так:
LIBS        += -L../libs -lutils
и прога запускается только если скопировать библиотеку в /usr/lib, иначе пишет, что файл не найден.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Ноябрь 05, 2009, 18:23 »

в линуксе - ничего. У него другая идеология загрузки библиотек нежели вин/мак. Делай либу статической.
есть правда грязный хак - прописать баш-скриптом перед стартом программы переменные среды для линкера чтоб он искал библиотеки где надо
Записан
Rcus
Гость
« Ответ #2 : Ноябрь 05, 2009, 18:45 »

Как это ничего, а -rpath?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #3 : Ноябрь 05, 2009, 19:08 »

а ссыль можно? гугл сказал что это но не сказал как готовить:)
я к сожалению линь не очень хорошо знаю, тк не считаю его достойной осью в данный момент
Записан
sLiva
Гость
« Ответ #4 : Ноябрь 05, 2009, 19:30 »

Можно пойти простым путем (на время разработки)

Добавить путь к папке с либами в:
/etc/ld.so.conf

После чего запустить из под рута:
ldconfig
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #5 : Ноябрь 05, 2009, 20:06 »

Цитировать
тк не считаю его достойной осью в данный момент
толсто же! Улыбающийся
и все от того что:
Цитировать
я к сожалению линь не очень хорошо знаю,

а вообще для этих целей - собирается ПАКЕТ!!!
В зависимости от дистра он делается или *.rpm или *.deb или *.tgz и т.п.
И тогда решаются все проблемы - и не нужно никаких такцев с бубном, только как сказал sLiva на время можно сделать так как он сказал Улыбающийся

Цитировать
Что нужно указать в .pro файле, чтобы программа подгружала библиотеку из произвольного каталога, например из рабочей директории.

сделать для проги конфиг, положить его в /etc или куда нить еще , а в самом конфиге прописать путь к shared библиотеке, а в самой программе динамически подгружать shared библиотеку, путь к которой читать из конфига
« Последнее редактирование: Ноябрь 05, 2009, 20:08 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #6 : Ноябрь 05, 2009, 20:29 »

пакет не всегда выход...
так что я все-таки требую ссыль на rpath с доступным примером
бтв моего знания линупса хватает чтобы решить практически все проблемы с ним возникающие... не даром он у меня на десктопе наравне с вин живет... вот только проблем с ним что-то слишком много
Записан
Lion
Гость
« Ответ #7 : Ноябрь 08, 2009, 22:29 »

Переменная окружения LD_LIBRARY_PATH содержит пути где ищутся библиотеки, она вполне может помочь, и в Qt Creator-e к ней легко можно добавить нужный путь.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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