Название: linker error на шаред библиотеки от других шаред библиотек Отправлено: stima от Июль 02, 2013, 17:42 собственно есть приложение, которое использует динамическую библиотеку, которая в свою очередь используют другие динамические библиотеки если я в *.pro файле пишу такую линковку:
LIBS += -L$$LIB_PATH \ -lбиблиотека _которая_требует_библиотеку Выдает анрезолвед референсы и варнинги что типо не может найти библиотеки нужные для этой. Если же: LIBS += -L$$LIB_PATH\ -lбиблиотека_которая_требуеться\ -lбиблиотека _которая_требует_библиотеку То линкер говорит что не может найти "библиотека_которая_требуеться" хотя они лежат в одной папке. я пробывал указать LD_LIBRARY_PATH = $$LIB_PATH но так не катит Да забыл добавить "библиотека_которая_требуеться" лижит симлинками, если это как-то играет роль, т.е. в одной папке; библиотека_которая_требуеться.so -> библиотека_которая_требуеться.so.1 библиотека_которая_требуеться.so.1->библиотека_которая_требуеться.so.111 Название: Re: linker error на шаред библиотеки от других шаред библиотек Отправлено: stima от Июль 02, 2013, 18:21 Нашел решение нужно использовать -rpath-link.
Название: Re: linker error на шаред библиотеки от других шаред библиотек Отправлено: Alex Custov от Июль 03, 2013, 01:22 LD_LIBRARY_PATH никакого отношения к линковке не имеет. Линкер ищет библиотеки по путям, настроенным в ld.so.conf, соответственно, чтобы линковка всегда проходила успешно, библиотеки нужно делать что-то одно из: а) держать в этих каталогах б) дописывать свои пути поиска с помощью ключа линкеру -L <путь> в) использовать -rpath.
|