C++ 链接两个使用openssl的库 平台:GNU/Linux Debian蚀刻32b libcurl 7.37.1 qt 4.8.1 openssl 0.9.8
上面是一个模式,其中包含我的应用程序的依赖项(仅此问题中涉及的一个) < >我的C++应用程序是基于Qt4.81的,但是对于某些HTTP/网络操作,我们使用LILCURL。 这两个lib都是使用ssl支持编译的 我面临一个非常奇怪的错误场景:C++ 链接两个使用openssl的库 平台:GNU/Linux Debian蚀刻32b libcurl 7.37.1 qt 4.8.1 openssl 0.9.8,c++,openssl,qt4,libcurl,C++,Openssl,Qt4,Libcurl,上面是一个模式,其中包含我的应用程序的依赖项(仅此问题中涉及的一个) < >我的C++应用程序是基于Qt4.81的,但是对于某些HTTP/网络操作,我们使用LILCURL。 这两个lib都是使用ssl支持编译的 我面临一个非常奇怪的错误场景: Object1对https站点运行curl\u easy\u perform()。呼叫报告错误。curl\u error\u缓冲区包含: 设置证书验证位置时出错:CAfile: /etc/ssl/certs/ca-certificates.crt CA
- Object1对https站点运行curl\u easy\u perform()。呼叫报告错误。curl\u error\u缓冲区包含:
- 稍后,Object2调用QSslSocket.write()
TCP Error: Error while reading: error:02001002:system library:fopen:No such file or directory, error:2006D080:BIO routines:BIO_new_file:no such file, error:0B084002:x509 certificate routines X509_load_cert_crl_file:system lib
两个对象都位于同一个应用程序线程中
使用gdb跟踪应用程序行为看起来像:
- X509\u load\u cert\u crl\u file调用在curl\u easy\u perform()中执行
- 调用方法QSslSocket.write()时,不会调用函数:X509\u load\u cert\u crl\u file,除非SSL堆栈返回到qt网络堆栈,否则会出现上述错误
- 这有什么意义吗
- 我以错误的方式使用libcurl,因此它使ssl连接处于不一致的状态
(这里的Qt代码:)使用相同的ssl重建了这两个库?@deW1:我不确定我是否正确回答了这个问题:你问我是否使用相同的libssl构建了这两个库?如果是这样:是的,我们构建libcurl和qt链接系统openssl libs
TCP Error: Error while reading: error:02001002:system library:fopen:No such file or directory, error:2006D080:BIO routines:BIO_new_file:no such file, error:0B084002:x509 certificate routines X509_load_cert_crl_file:system lib