从源代码构建Qt静态,启用OpenSSL支持



我按照 https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW 中所述的Qt静态构建说明进行操作。在我的Windows 10机器上运行脚本就可以正常工作,并且可以静态构建Qt。但是,由于我需要OpenSSL支持,因此无法使用.ps脚本生成的静态构建来编译我的程序。

因此,我稍微将.ps脚本的configure.bat选项从-no-openssl

更改为
-openssl-linked 
-I C:OpenSSL-Win32include 
-L C:OpenSSL-Win32libVCstatic 
OPENSSL_LIBS="-lUser32 -lAdvapi32 -lGdi32 -lCrypt32"             
OPENSSL_LIBS_DEBUG=-"lssleay32MTd -llibeay32MTd" 
OPENSSL_LIBS_RELEASE="-lssleay32MT -llibeay32MT

在静态Qt构建中启用OpenSSL支持,基于以下来源:

QT https SSL支持静态QT静态程序构建 - 获取"协议"https"未知"

有没有办法用静态OpenSSL构建静态Qt?

现在,运行脚本不会在 make 安装步骤中产生进一步指定的错误。-lUser32 -lAdvapi32 -lGdi32 -lCrypt32库不在我的 OpenSSL-Win32 安装的任何子文件夹中,但可以在 C:WindowsSystem32 中找到。

我将这个问题解释为:

如何从源代码构建 Qt 静态,在 项目安装目标?

可能的方法之一是:

  • 静态Qt构建:configure -static -debug-and-release -openssl -I %OPENSSL_HOME%include -L %OPENSSL_HOME%和更多选项
  • 在 %OPENSSL_HOME% 处使用相同的 SSL 链接项目可执行文件
  • 将相应的 libeay32.dll 和 ssleay32.dll 连同其余的可执行文件一起分发

最新更新