2013-04-08 34 views
0

我是QT開發新手。QLibrary如何獲得庫的絕對路徑

我已經動態加載庫是這樣的:

1) QLibrary lobj ("myLib"); 

而且,爲了解決圖書館內的功能,

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

,我可以能夠調用的功能FUN1,成功。

問:

我想獲得其上裝載庫「MYLIB」的絕對路徑。

我嘗試使用filename()方法,但它只返回庫名,除非我們明確指定加載庫時的絕對路徑。

請提供suggession ?.

回答

0

有沒有便攜的方式。檢查源代碼,在Unix上有一個loop,它會嘗試多個前綴和後綴,但沒有記住所選文件名的邏輯。我懷疑這種情況在其他平臺上也可能類似。

知道爲什麼您需要首先了解庫名稱可能很有趣。您也可以自己複製前綴&後綴分辨率的邏輯,並記住所選的文件名,但這將是很多(不可移植的)工作。

+0

我有相同的庫安裝到整個系統的不同位置,並希望刪除未使用的條目。這就是我需要的原因。 :)。 – Whoami 2013-04-08 09:35:14

+0

如果你在Linux上,檢查'ldd'的輸出以查看哪個庫被選中。如果它是在運行時加載的,則對程序進行分段。我確定其他平臺也有類似的工具。 – 2013-04-08 12:13:26

相關問題