Qt、WIndows和OpenSSL-无法调用未解析的函数xyz
我最近在运行Qt5.9.1的Windows 10计算机上安装了ArcGIS运行时SDK。尝试使用一个ArcGIS模板构建一个简单的Qt、WIndows和OpenSSL-无法调用未解析的函数xyz,qt,openssl,arcgis,Qt,Openssl,Arcgis,我最近在运行Qt5.9.1的Windows 10计算机上安装了ArcGIS运行时SDK。尝试使用一个ArcGIS模板构建一个简单的QWidget应用程序时,出现以下错误: qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new qt.network.
QWidget
应用程序时,出现以下错误:
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
这个问题似乎很常见,但大多数谷歌搜索结果都给出了Linux系统的答案
我已经做了以下工作:
- 下载并安装OpenSSL(来自GnuWin32 OpenSSL)
- 跨
和libeay32.dll
复制到生成文件夹libssl32.dll
- 将include路径添加到Qt-pro文件中
- 已验证
位于pro文件的网络
config部分QT+=
然而,上述这些都没有带来任何不同。我正在运行MSVC 2015 32位工具包。您必须将静态库添加到项目中 找出
libeay32.lib
和libssl32.lib
并将它们添加到项目中
提及
我认为您需要两个dll文件:libeay32.dll和ssleay32.dll。我使用与您相同的qt版本,因此您可以从下载它们或直接从中获取zip(这对我很有用) Qt使用不同版本的openssl库,因此如果您不确定,则应使用下面的静态函数在代码中对其进行测试:
QSslSocket::sslLibraryBuildVersionString();