QT5.8 VS2017 编译教程(可以使用VS2017 XP兼容包)
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补丁包,或者qalgorithms.zip
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版本,大家可以根据自己需要选择。
configure 完成之后,运行nmake nmake install 就ok了。
https://www.liberobk.com/cpp/228.html
QT5.8 VS2017 编译教程(可以使用VS2017 XP兼容包)的更多相关文章
- 【全网首发】使用vs2017+qt5.12.4编译64位debug和release的qgis3.4.9
一.摘要: 搜索网络没有发现一篇文章完整的介绍如何编译qgis3.4.x的debug版本,官方的指导也长时间不再更新. 所以前前后后花了4天搞定qgis的debug编译,并成功运行,废话不多说,直接上 ...
- VS2017 编译 Visual Leak Detector + VLD 使用示例
起因 一个Qt5+VS2017的工程,需要进行串口操作,在自动时发现一段时间软件崩溃了,没有保存log,在 debug 的时候发现每运行一次应用占据的内存就多一点,后来意识到是内存泄漏了.这个真是头疼 ...
- Qt5.5.1和Qt5.3.2编译OCI驱动教程及验证方法
我们都知道oracle数据库的强大,并且好多企业或者教学用到数据库时都会推荐使用.但是Qt因为版权问题没有封装oracle数据库专用驱动,网上也有一大堆说法和教程,但是或多或少的都有问题.下面废话不多 ...
- windows 平台使用 VS2017 编译openssl源码
windows 平台使用 VS2017 编译openssl源码 1)依赖安装 安装 perl 脚本解释器 下载 http://libevent.net/download 安装 nasm 汇编器 C:\ ...
- VS2017编译GDAL(64bit)+解决C#读取Shp数据中文路径的问题
编译GDAL过程比较繁琐,查阅了网上相关资料,同时通过实践,完成GDAL的编译,同时解决了SHP数据中文路径及中文字段乱码的问题,本文以“gdal-2.3.2”版本为例阐述整个编译过程. 一.编译准备 ...
- windows 平台使用 VS2017 编译 libevent 源码
一 依赖库编译 先要将其依赖的库编译好,其中openssl需要编译到libevent中,编译成libevent_openssl.lib库,zlib在新版本中只有示例用到. 1)windows 平台使用 ...
- VS2017编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version
VS2017编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll ve ...
- CM12同步源码及编译教程
同时提供基于安卓5.0的MKL魔趣猪扒饭编译教程~[玩机组出品]魔趣猪扒饭MKL50.1编译教程http://www.oneplusbbs.com/forum.php?mod=viewthread&a ...
- gRPC编译教程
windows平台的编译 一.编译openssl ① 安装perl(可以使用ActivePerl),执行perl Configure VC-WIN64A no-asm .在这里解释一下参数含义,VC- ...
随机推荐
- oracle表空间查询维护命令大全之中的一个(数据表空间)史上最全
表空间是数据库的逻辑划分,一个表空间仅仅能属于一个数据库. 全部的数据库对象都存放在建立指定的表空间中.但主要存放的是表, 所以称作表空间.在oracle 数据库中至少存在一个表空间.即S ...
- C#MVC中创建多模块web应用程序
当一个应用程序有越来越多的子模块后,应用程序将变得越来越大,复杂度也越来越高,应用程序也越来越难维护.如果把每个子模块,独立分成不同的web应用程序,则这个项目将易于维护.关于这个的好处,我也描述得不 ...
- DEA上安装和使用checkstyle,findbugs,visualVM,PMD插件
##安装插件步骤: 1.打开settings 2.选择plugins 3.点击"Browse repositories" 4.搜索对应内插件,点击"install&quo ...
- 支付(异步通知notify_url 与 同步通知return_url的区别)
同步通知和异步通知发送的数据没有本质的区别:同步通知有2个作用:第一是从支付宝的页面上返回自己的网站继续后续操作:第二是携带支付状态的get参数:让自己的网站用于验证: 同步通知后:还需要异步通知主要 ...
- 允许svn服务与WINDOWS自己主动启动
曾经的svnserve要想成为windows服务,必须依赖于svnservice或其它工具. 从Subversion1.4開始,Subversion本身就集成了Windows服务的工具. 将svn设置 ...
- phpcms视图查询数据
{pc:get sql="SELECT * FROM phpcms WHERE id in ($id) ORDER BY listorder ASC LIMIT 0, 1--"re ...
- iOS 5.1.1 设备不能安装AdHoc问题版本号
之前苹果更新了审计规范,要求必须支持64通过苹果的审核权限位架构的应用. 但运营商表示反馈.使用iOS5.1.1该系统无法安装我们的包Adhoc版本号. 认为非常莫名.由于我们在Dep ...
- C# ?和??使用讲解
原文:C# ?和??使用讲解 场景1:使用?定义可空类型 众所周知,C#中的值类型是不可以为null的,如果必须为null,则需要将变量定义为可空类型,如下所示: int? age = null; 场 ...
- 经典数字图像处理(matlab 实现)
Ivan Selesnick(Software) Sparsity / Total variation / Denoising Software - Michael Elad's Personal P ...
- ZOJ 3819 Average Score(数学 牡丹江游戏网站)
主题链接:problemId=5373">http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5373 Bob is ...