【问题标题】:QLibrary how to get the absolutive Path of the LibraryQLibrary 如何获取库的绝对路径
【发布时间】:2013-04-08 09:06:39
【问题描述】:

我是 QT 开发的新手。

我已经像这样动态加载了库:

1) QLibrary  lobj ("myLib");

而且,要解析库中的函数,

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

我可以成功调用函数Fun1。

问题:

我想获取加载的库“myLib”的绝对路径。

我尝试使用 filename() 方法,但它只返回库名称,除非我们明确表示 加载库时指定绝对路径。

请提供建议?

【问题讨论】:

    标签: qt qt4 qt5


    【解决方案1】:

    没有可移植的方法。检查源代码,在 Unix 上有一个 loop 尝试多个前缀和后缀,但没有记住所选文件名的逻辑。我怀疑其他平台上的情况可能也类似。

    首先知道为什么需要知道库名称可能会很有趣。您也可以自己复制前缀和后缀解析的逻辑并记住选择的文件名,但这将是很多(不可移植的)工作。

    【讨论】:

    • 我在系统的不同位置安装了同一个库,并希望删除未使用的条目。这就是为什么我需要。 :)。
    • 如果您使用的是 Linux,请检查 ldd 的输出以查看选择了哪个库。如果它是您在运行时加载的东西,strace 程序。我确信其他平台也有类似的工具。
    猜你喜欢
    • 2010-09-21
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多