Название: Линковка библиотек при сборке и при запуске на конечном оборудовании Отправлено: Fregloin от Март 12, 2013, 10:32 Привет. Есть проект под Qt/Ubuntu.
Есть бинарник, есть библиотека (которая загружается вместе с бинарником, не плагин). К примеру результаты компиляции хранятся так $HOME/src/bin_out/bin - это бинарник qt-шный $HOME/src/lib_out/libcore.0.1.0.so (+ symlinks на нее) - библиотека, которую использует бинарник. Вот, я хочу создать deb пакеты установочные, что бы бинарник и либа ставились по следующим путям: /usr/local/bin/mycompany/target/bin /usr/local/lib/mycompany/target/lib Так вот, вопрос, мне обазятельно в pro файле проекта указывать в директиве -L путь /usr/local/lib/mycompany/target/lib или можно $HOME/src/lib_out/? Почему вопрос, потому что часто приходится устанавливать или удалять мои deb пакеты в целях тестирования... Т.е. обазятельно указывать конечное расположение файла при линковке, или можно указать расположение либы в каталоге сборок? Либу потом добавляю в /etc/ld.so.conf.d/mylib.conf и делаю ldconfig, что бы кешировать ее. Название: Re: Линковка библиотек при сборке и при запуске на конечном оборудовании Отправлено: Alex Custov от Март 12, 2013, 17:38 Так вот, вопрос, мне обазятельно в pro файле проекта указывать в директиве -L путь /usr/local/lib/mycompany/target/lib Не нужно, потому что -L задаёт пути поиска при линковке. А загрузчик готового бинарника ищет библиотеки по заранее заданным в системе путям, и т.к. ты задаёшь свой путь в ld.so.conf, то он спокойно найдёт библиотеку по твоему пути. Единственное, что структура каталогов у тебя нестандартная. Такую структуру как ты хочешь обычно помещают в /opt: /opt/mycompany/target/bin/ /opt/mycompany/target/lib/ /opt/mycompany/target/share/ ... Название: Re: Линковка библиотек при сборке и при запуске на конечном оборудовании Отправлено: Fregloin от Март 13, 2013, 12:36 Спасибо! Вот это я и ожидал услышать. А где можно почитать по поводу, в каких каталогах хранить свою программу, либы, конфиги и данные в Unix системах? С виндовсом там попроще...
Название: Re: Линковка библиотек при сборке и при запуске на конечном оборудовании Отправлено: Alex Custov от Март 13, 2013, 16:14 Спасибо! Вот это я и ожидал услышать. А где можно почитать по поводу, в каких каталогах хранить свою программу, либы, конфиги и данные в Unix системах? С виндовсом там попроще... http://www.linuxfoundation.org/collaborate/workgroups/lsb/fhs |