如何使用OpenSSL支持构建Qt5
使用SSL支持构建Qt5的正确配置是什么?我目前已使用以下命令行使用VC2008静态编译OpenSSL:如何使用OpenSSL支持构建Qt5,qt,visual-c++,build,openssl,qt5,Qt,Visual C++,Build,Openssl,Qt5,使用SSL支持构建Qt5的正确配置是什么?我目前已使用以下命令行使用VC2008静态编译OpenSSL: 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 test
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)
如何让Qt与OpenSSL支持链接起来进行编译?我做错了什么?好的,最后我发现在重新配置之前清理配置是非常重要的。在以前版本的Qt
nmake confclean
中实现了这一技巧,但它似乎不再有效。根据目前的情况,可以使用git子模块foreach——递归的“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