使用SSL支持构建Qt5的正确配置是什么?我目前使用以下命令行静态编译OpenSSL与VC2008:
perl Configure VC-WIN32 --prefix=C:\Build-OpenSSL-VC-32
ms\do_ms
nmake -f ms\nt.mak
nmake -f ms\nt.mak install
配置Qt 5.3.1:
configure -developer-build -opensource -nomake examples -nomake tests -mp -confirm-license -opengl desktop -no-icu -skip qtserialport -skip qtwebkit-examples -platform win32-msvc2008 -openssl-linked OPENSSL_LIBS="-lssleay32 -llibeay32" -I C:\Build-OpenSSL-VC-32\include -L C:\Build-OpenSSL-VC-32\lib
我收到多个链接错误,如
moc_qnetworkreply.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
如何使用OpenSSL支持链接编译Qt?我做错了什么?
答案 0 :(得分:7)
好的,最后我发现在重新配置之前清理配置非常重要。在先前版本的Qt nmake confclean
做了诀窍,但似乎它不再起作用了。根据{{3}}目前,git submodule foreach --recursive "git clean -dfx"
代替nmake confclean
非常有用。之后,需要对gdi32.lib和user32.ilb进行一些调整才能获得以下配置行:
configure -developer-build -opensource -nomake examples -nomake tests -mp -confirm-license -opengl desktop -no-icu -skip qtserialport -skip qtwebkit-examples -platform win32-msvc2008 -openssl-linked OPENSSL_LIBS="-lssleay32 -llibeay32" -I C:\Build-OpenSSL-VC-32\include -L C:\Build-OpenSSL-VC-32\lib -L "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib" -l Gdi32 -l User32
然后
nmake
和Voilà。