【发布时间】:2018-05-07 12:59:59
【问题描述】:
我试图找出哪些库 Qt Assistant 需要部署。为此,我在 Linux 上使用了ldd。
我发现ldd 提供了一个选项-u 来“打印未使用的依赖项”。这听起来像是部署不需要(总是)需要的某种依赖关系。于是我又运行了两个ldd 命令:
~$ ldd -u ~/Qt/5.10.0/gcc_64/bin/assistant
Unused direct dependencies:
/lib/x86_64-linux-gnu/libQt5Network.so.5
/lib/x86_64-linux-gnu/libQt5Sql.so.5
/lib/x86_64-linux-gnu/mesa/libGL.so.1
/lib/x86_64-linux-gnu/libpthread.so.0
/lib/x86_64-linux-gnu/libm.so.6
/lib/x86_64-linux-gnu/libgcc_s.so.1
~$ ldd -r -u ~/Qt/5.10.0/gcc_64/bin/assistant
Unused direct dependencies:
/lib/x86_64-linux-gnu/libQt5Network.so.5
/lib/x86_64-linux-gnu/mesa/libGL.so.1
/lib/x86_64-linux-gnu/libpthread.so.0
/lib/x86_64-linux-gnu/libm.so.6
/lib/x86_64-linux-gnu/libgcc_s.so.1
我试图找出发生了什么,但我没有完全理解它。
我的问题是:
- 什么是未使用的直接依赖项(这听起来与 我)?
- 是否可以查明
Qt Assistant是否真的需要一个未使用的 直接依赖(除了启动它并等待错误)? - 上述命令行之间到底有什么区别?为什么
第一个列表libQt5Sql,但第二个没有?
【问题讨论】:
标签: linux qt dependencies shared-libraries ldd