+-
linux – 如何告诉Qt使用不同的OpenSSL
我有Qt 4的 linux:4.6.3-4 squeeze1和openssl 0.9.8o-4squeeze14
openssl.0.9.8和openssl 1.0之间的通信存在问题:

Running curl with OpenSSL 0.9.8 against OpenSSL 1.0.0 server causes handshake error?

http://marc.info/?l=openssl-dev&m=136760073921954&w=2

我已经将openssl-1.0.2j构建到/ home / openssl但是我不能使用这个库制作Qt. SSL是动态链接的,因此ldd my_program不会显示libssl.
我努力了

LD_LIBRARY_PATH=/home/openssl ./my_program

但它不起作用,我可以看到命令:

$lsof -p 16126|grep -i ssl
ccbox-ccd 16126 root  mem    REG       80,5   310296  8389597 /usr/lib/i686/cmov/libssl.so.0.9.8
$lsof -p 16126|grep -i crypt
ccbox-ccd 16126 root  mem    REG       80,5   469632 29365978 /usr/lib/libgcrypt.so.11.5.3
ccbox-ccd 16126 root  mem    REG       80,5   143180 29375951 /usr/lib/libk5crypto.so.3.1
ccbox-ccd 16126 root  mem    REG       80,1    38360  1104731 /lib/i686/cmov/libcrypt-2.11.3.so
ccbox-ccd 16126 root  mem    REG       80,5  1393308  8389598 /usr/lib/i686/cmov/libcrypto.so.0.9.8

它始终使用0.9.8也编辑/etc/ld.so.conf无济于事

如何指向Qt使用从不版本的openssl

最好的祝福
马雷克

最佳答案
如果你可以重建你的应用程序(使用qmake / make)更好,并确保你通过运行使用正确的openssl库

export LD_LIBRARY_PATH=Absolute_Path/openssl/lib

在建设之前.

此外,您可以在运行应用程序之前使用相同的命令,即使您的应用程序是使用不同位置的openssl库构建的.但是,您需要确保新位置的openssl库的名称与应用程序根据您的ldd输出所需的名称相匹配.

点击查看更多相关文章

转载注明原文:linux – 如何告诉Qt使用不同的OpenSSL - 乐贴网