我按照 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 连同其余的可执行文件一起分发