我怎么知道Qt是否链接到openssl,以及哪个链接?

时间:2018-07-24 22:59:54

标签: qt openssl

看着Qt5.11.0的库(:/Qt/5.11.0/5.11.0/gcc_64/lib/),我想知道是哪一个正在链接openssl。所以我运行了以下内容:

for lib in `ls *.so`; do ldd $lib | grep ssl; done

我没有任何输出,这表明没有库与openssl链接。但是我认为Qt必须以某种方式与之链接(例如,用于联网)。

链接如何完成?在哪里寻找openssl?我是否有办法知道在系统上找到了哪个Qt(例如,假设我有多个Qt)?

1 个答案:

答案 0 :(得分:0)

Qt在运行时动态链接一些库。为了查看加载了哪些库,可以按照Matteo的提示检查动态链接器的诊断输出:

说我的可执行文件称为QGroundcontrol

在Linux上:

LD_DEBUG=libs ./QGroundcontrol 2>&1 | grep -E "ssl|crypto"

在macOS上:

DYLD_PRINT_LIBRARIES=1 ./QGroundcontrol 2>&1 | grep -E "ssl|crypto"

由此我可以看到Qt在系统上找到了openssl。

现在,我仍然不知道如何告诉Qt看看其他地方(以防我想链接另一个openssl),但是that's another question