博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
静态编译 Qt5.7.0 (含 openssl 支持)
阅读量:5873 次
发布时间:2019-06-19

本文共 2725 字,大约阅读时间需要 9 分钟。

关于Qt静态便宜的环境等,请先参见  。

首先编译 openssl 。我这里用的版本是 openssl 1.0.2j (新的1.1版本的便宜稍有不同,详见 openssl 的文档)。openssl编译的bat脚本如下:

REM Initialize env for msvc 2015 cl compilerSET PATH=C:\Windows;C:\Windows\system32REM Set up \Microsoft Visual Studio 2015, where 
is amd64, x86, etc.CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86REM Update include & lib to support xp win sdk 7.1ASET PATH=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%SET INCLUDE=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE%SET LIB=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib;%LIB%SET CL=/D_USING_V120_SDK71_;%CL%SET PERL_DIR=C:\Perl64SET PATH=%PERL_DIR%\bin;%PATH%perl configure VC-WIN32 no-asm --prefix=d:/openssl/dirms\do_msnmake -f ms\nt.maknmake -f ms\nt.mak install

 

然后更改Qt的编译脚本,便宜时引入openssl:

REM ********** Initialize env for msvc 2015 cl compiler **********SET PATH=C:\Windows;C:\Windows\system32REM Set up \Microsoft Visual Studio 2015, where 
is amd64, x86, etc.CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86REM ********** Update include & lib to support xp win sdk 7.1A **********SET PATH=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%SET INCLUDE=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE%SET LIB=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib;%LIB%SET CL=/D_USING_V120_SDK71_;%CL%REM ********** OpenSSL 1.0.2 **********SET OPENSLLDIR=D:\CollabPDF\windows\vendors\opensslSET PATH=%OPENSLLDIR%\bin;%PATH%SET INCLUDE=%OPENSLLDIR%\include;%INCLUDE%SET LIB=%OPENSLLDIR%\lib;%LIB%REM ********** 3rd party build tools binaries: ruby, perl, python ********** SET PATH=C:\Ruby22-x64\bin;C:\Perl64\bin;C:\Python27;%PATH%REM ********** Set up qt source env **********SET _ROOT=E:\qt-everywhere-opensource-src-5.7.0SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%REM Uncomment the below line when using a git checkout of the source repositoryREM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%SET QMAKESPEC=win32-msvc2015SET _ROOT=REM Generate makefileconfigure.bat -confirm-license -opensource -platform win32-msvc2015 -debug-and-release -static -target xp -prefix D:\Qt\Qt5.7.0-static-win32-vs2015-xp -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -openssl-linked OPENSSL_LIBS="-lssleay32 -llibeay32 -lgdi32 -luser32" -no-qml-debug -no-angle -nomake tests -nomake examples -mp

 

其他问题:

  1. 我第一次尝试使用 openssl 1.1 配合qt进行编译,但报了一个错。猜测可能是因为openssl 1.1版本去除了sslv2支持。所以又改为使用openssl 1.0.2了。
  2. OPENSSL_LIBS需要引用 gdi32。因为openssl中用到了其中的函数(我没有实际测试是否需要user32,编译太慢,以防万一也加上了)。

转载于:https://www.cnblogs.com/bbxx111/p/6003233.html

你可能感兴趣的文章
丢包补偿技术概述
查看>>
PHP遍历文件夹及子文件夹所有文件
查看>>
WinForm程序中两份mdf文件问题的解决
查看>>
使用Weinre调试Mobile Web
查看>>
2003远程用户数修改
查看>>
使用iOS4的GestureRecognizers识别手势(Xcode4)
查看>>
【转】唯快不破:创业公司如何高效的进行产品研发管理
查看>>
BZOJ4644 : 经典傻逼题
查看>>
用Jquery获取checkbox多个选项
查看>>
编写高质量代码:改善Java程序的151个建议(第3章:类、对象及方法___建议31~35)
查看>>
【转】线程优先级与线程安全
查看>>
第二百三十三节,Bootstrap表格和按钮
查看>>
凡客诚品站点打不开:页面显示域名到期了!
查看>>
从位图数据取得位图句柄
查看>>
Spark RDD、DataFrame原理及操作详解
查看>>
程序计数器、反汇编工具
查看>>
Android N: jack server failed
查看>>
007-Shell test 命令,[],[[]]
查看>>
关于Linux系统使用遇到的问题-1:vi 打开只读(readonly)文件如何退出保存?
查看>>
pandas 按照某一列进行排序
查看>>