【问题标题】:Build Qt static from source enabling OpenSSL support从源代码构建 Qt 静态启用 OpenSSL 支持
【发布时间】:2016-04-22 13:01:56
【问题描述】:

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

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

-openssl-linked 
-I C:\OpenSSL-Win32\include 
-L C:\OpenSSL-Win32\lib\VC\static 
OPENSSL_LIBS="-lUser32 -lAdvapi32 -lGdi32 -lCrypt32"             
OPENSSL_LIBS_DEBUG=-"lssleay32MTd -llibeay32MTd" 
OPENSSL_LIBS_RELEASE="-lssleay32MT -llibeay32MT

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

QT https SSL support for static QT static program build - getting 'Protocol "https" is unknown'

Is there any way to building static Qt with static OpenSSL?

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

【问题讨论】:

  • 如果您只是删除-no-openssl,它将恢复为默认值,即使用平台提供的SSL

标签: c++ qt ssl static


【解决方案1】:

我将问题解释为:

如何从源代码构建 Qt 静态以启用 OpenSSL 支持 项目安装目标?

一种可能的方法是:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-17
    • 2012-09-02
    • 1970-01-01
    • 2010-11-17
    • 2012-03-11
    • 2016-05-28
    • 1970-01-01
    • 2017-05-23
    相关资源
    最近更新 更多