+-

我有Qt 4的 linux:4.6.3-4 squeeze1和openssl 0.9.8o-4squeeze14
openssl.0.9.8和openssl 1.0之间的通信存在问题:
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 - 乐贴网