QLibrary как получить абсолютный путь к библиотеке

Я новичок в разработке QT.

Я загрузил библиотеку динамически следующим образом:

1) QLibrary  lobj ("myLib");

И, чтобы разрешить функции внутри библиотеки,

2) lobj.resolve ("Fun1");  -> Store the function pointer. i have not writting here. ;). 

и я смог успешно вызвать функцию Fun1.

Вопрос:

Я хотел бы получить абсолютный путь к загруженной библиотеке myLib.

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

Пожалуйста, предоставьте предложение?


person Whoami    schedule 08.04.2013    source источник


Ответы (1)


Для этого нет портативного способа. Проверьте источник, в Unix есть цикл, который пробует несколько префиксов и суффиксов, но не имеет логики для запоминания выбранного имени файла. Я подозреваю, что ситуация, вероятно, похожа и на других платформах.

Может быть интересно узнать, зачем вообще нужно знать имя библиотеки. Вы также можете самостоятельно продублировать логику разрешения префикса и суффикса и запомнить выбранное имя файла, но это потребует больших (непереносимых) усилий.

person Jan Kundrát    schedule 08.04.2013
comment
У меня одна и та же библиотека установлена ​​в разных местах системы, и я хочу удалить неиспользуемые записи. вот почему я требовал. :). - person Whoami; 08.04.2013
comment
Если вы работаете в Linux, проверьте вывод ldd, чтобы узнать, какая библиотека выбрана. Если это то, что вы загружаете во время выполнения, strace программа. Я уверен, что есть аналогичные инструменты для других платформ. - person Jan Kundrát; 08.04.2013