我的应用程序 = libssl.so ( 1.0.2f
) + libcrypto.so ( 1.0.2f
) +my_app_exe
在 Debian 9 上,QT 版本是5.7
,openssl 是1.0.2l
my_app_exe
返回1.0.2l
for QSslSocket::sslLibraryVersionString()
,表示其使用系统 openssl 版本。
我可以强制 QT 库以某种方式使用与我的应用程序一起提供的 openssl 吗?
我尝试使用 设置库路径QCoreApplication::addLibraryPath(const QString &path)
,但 QT 库仍然选择系统 openssl 版本。
约束:
- 无法重新编译系统上存在的 QT 库
- 无法与应用程序一起发布 QT 库
- 无法更改系统 QT 库上的 RPATH
my_app_exe
已经使用RPATH
which 指向随附的 openssl 所在的当前目录。