QT5.8 VS2017 编译教程 静态编译 openssl

1、下载QT5.8源码

这个我不做过多解释。

2、安装使用的环境

visual studio 2017  Python Perl  Ruby 安装好,并配置好环境PATH变量。

3、修改错误代码

错误一:qtbase\src\plugins\generic\tuiotouch\qtuiohandler.cpp 包含了非ASCII字符,需要另存一个带BOM的UTF-8编码文件,替换原文件。否则编译会报错。建议使用notepad++修改。

错误二:修改 qtbase/src/corelib/tools/qalgorithms.h。因为要修改位置太多,我直接给出源码包。

qalgorithms补丁包

4、如果你选择动态编译动态编译,请使用下面configure

configure -developer-build -mp -confirm-license -opensource -debug-and-release -force-debug-info -prefix "C:\Qt\msvc2017_dynamic" -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -nomake tests -nomake examples

接着,完成之后执行namke  再 nmake  install,时间有点长,慢慢等着吧。

5、如果你选择静态版本,请看下面的步骤

再根据你安装的Qt版本进入相应的文件夹下,C:\Qt\qt-everywhere-opensource-src-5.8.0\qtbase\mkspecs 。我这里是win32-msvc2017。进去之后,你会发现有一个qmake.conf文件。打开它。在qmake.conf文件在,你会发现一个include,请根据include中的路径,找到对应文件并打开。

找到以下标志

QMAKE_CFLAGS_RELEASE = -O2 -MD 
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi 
QMAKE_CFLAGS_DEBUG = -Zi -MDd

修改成下面

QMAKE_CFLAGS_RELEASE = -O2 -MT 
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi 
QMAKE_CFLAGS_DEBUG = -Zi -MTd

修改好之后,运行configure

configure -mp -confirm-license -opensource -release -static -force-debug-info -prefix "C:\Qt\msvc2017_static" -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -nomake tests -nomake examples

为了加快编译时间 我只编译了release版本,大家可以根据自己需要选择。

如果你想静态编译 并且可以+openssl 可以用以下configure

当然你首先要参考我的这篇文档直接看第六步,编译好静态的openssl  注意:我这里全部都是基于64位编译的。 https://www.liberobk.com/cpp/280.html

configure -mp -static -static-runtime -release -prefix "D:\Qt\vs2015_static" -I "D:\openssl_dll\include" -L "D:\openssl_dll\lib" -ssl -openssl -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -sql-sqlite -sql-odbc -opensource -confirm-license -make libs -nomake tools -nomake examples -nomake tests

 

configure 完成之后,运行nmake   nmake install 就ok了。

You may also like...

8
想说点什么吗?

avatar
2 Comment threads
6 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
匿名匿名xlshn@qq.comlibero匿名 Recent comment authors
  Subscribe  
提醒
xlshn@qq.com
游客
xlshn@qq.com

您好,根据您的教程,我这儿出现这个错误:
F:qt-everywhere-opensource-src-5.8.0qt-everywhere-opensource-src-5.8.0qtimageformatssrc3rdpartylibwebpsrcdemuxanim_decode.c : fatal error C1083: 无法打开编译器生成的文件: “”: Invalid argument
请教您一下,这个问题怎么解决,谢谢。

匿名
游客
匿名

编译后可以生成,但是在vs2017中添加路径后.新建项目.直接执行就出一堆未找到,未定义,式哪里有问题吗?我是指定了平台编译的,看你的这个configure没有指定平台,是不需要吗?