Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Lion от Ноябрь 05, 2009, 18:01



Название: Линьковка собственной библиотеки под Linux
Отправлено: Lion от Ноябрь 05, 2009, 18:01
Что нужно указать в .pro файле, чтобы программа подгружала библиотеку из произвольного каталога, например из рабочей директории.

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


Название: Re: Линьковка собственной библиотеки под Linux
Отправлено: Авварон от Ноябрь 05, 2009, 18:23
в линуксе - ничего. У него другая идеология загрузки библиотек нежели вин/мак. Делай либу статической.
есть правда грязный хак - прописать баш-скриптом перед стартом программы переменные среды для линкера чтоб он искал библиотеки где надо


Название: Re: Линьковка собственной библиотеки под Linux
Отправлено: Rcus от Ноябрь 05, 2009, 18:45
Как это ничего, а -rpath?


Название: Re: Линьковка собственной библиотеки под Linux
Отправлено: Авварон от Ноябрь 05, 2009, 19:08
а ссыль можно? гугл сказал что это но не сказал как готовить:)
я к сожалению линь не очень хорошо знаю, тк не считаю его достойной осью в данный момент


Название: Re: Линьковка собственной библиотеки под Linux
Отправлено: sLiva от Ноябрь 05, 2009, 19:30
Можно пойти простым путем (на время разработки)

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

После чего запустить из под рута:
ldconfig


Название: Re: Линьковка собственной библиотеки под Linux
Отправлено: kuzulis от Ноябрь 05, 2009, 20:06
Цитировать
тк не считаю его достойной осью в данный момент
толсто же! :)
и все от того что:
Цитировать
я к сожалению линь не очень хорошо знаю,

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

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

сделать для проги конфиг, положить его в /etc или куда нить еще , а в самом конфиге прописать путь к shared библиотеке, а в самой программе динамически подгружать shared библиотеку, путь к которой читать из конфига


Название: Re: Линьковка собственной библиотеки под Linux
Отправлено: Авварон от Ноябрь 05, 2009, 20:29
пакет не всегда выход...
так что я все-таки требую ссыль на rpath с доступным примером
бтв моего знания линупса хватает чтобы решить практически все проблемы с ним возникающие... не даром он у меня на десктопе наравне с вин живет... вот только проблем с ним что-то слишком много


Название: Re: Линьковка собственной библиотеки под Linux
Отправлено: Lion от Ноябрь 08, 2009, 22:29
Переменная окружения LD_LIBRARY_PATH содержит пути где ищутся библиотеки, она вполне может помочь, и в Qt Creator-e к ней легко можно добавить нужный путь.