使用OpenSSL进行QT静态构建抛出QSslError :: NoError

时间:2012-01-24 03:10:04

标签: qt openssl

我正在使用SSL使用QT构建应用。当我使用QT SDK(动态链接)编译应用程序时,应用程序会抛出以下三个错误:

QSslError::UnableToGetLocalIssuerCertificate
QSslError::UnableToVerifyFirstCertificate
QSslError::CertificateUntrusted

我使用以下代码处理这些错误:

QSslError error0(QSslError::UnableToGetLocalIssuerCertificate, cert.at(0));
expectedSslErrors.append(error0);
QSslError error1(QSslError::UnableToVerifyFirstCertificate, cert.at(0));
expectedSslErrors.append(error1);
QSslError error2(QSslError::CertificateUntrusted, cert.at(0));
expectedSslErrors.append(error2);
this->socket->ignoreSslErrors(expectedSslErrors);

通过动态链接,一切都很好。但是当我使用静态编译的QT编译这段代码时,我得到了QSslError::NoError三次抛出。

这在Mac和Windows开发环境中都会发生。

1 个答案:

答案 0 :(得分:0)

我正在使用-universal选项编译Qt,为i386和ppc架构生成库,但是我正在编译它的OpenSSL是为x64_86 arch构建的。我为i386和ppc静态构建了OpenSSL,然后编译了Qt,现在一切都很好。