2013-04-08 3 views
0

Я новичок в разработке QT.QLibrary Как получить абсолютный Путь библиотеки

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

1) QLibrary lobj ("myLib"); 

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

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

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

Вопрос:

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

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

Просьба предоставить предложение.

ответ

0

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

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

+0

У меня есть одна и та же библиотека, установленная в разных местах по всей системе, и вы хотите удалить неиспользуемые записи. поэтому я и требовал. :). – Whoami

+0

Если вы находитесь в Linux, проверьте вывод 'ldd', чтобы узнать, какая библиотека выбрана. Если это то, что вы загружаете во время выполнения, 'strace' программа. Я уверен, что есть и другие инструменты для других платформ. –