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

  1. 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中的路径,找到对应文件并打开。

找到以下标志

  1. QMAKE_CFLAGS_RELEASE = -O2 -MD
  2. QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
  3. QMAKE_CFLAGS_DEBUG = -Zi -MDd

修改成下面

  1. QMAKE_CFLAGS_RELEASE = -O2 -MT
  2. QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
  3. QMAKE_CFLAGS_DEBUG = -Zi -MTd

修改好之后,运行configure

  1. 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

最新文章

  1. 在Arcscene绘制管线三维横断面(AE绘制三维点阵文字)
  2. mysql 分页查询
  3. [Android基础论]为何Activity退出之后,系统没有调用onDestroy方法?
  4. OC中的面向对象语法4
  5. hdu 4324 拓扑排序
  6. Hibernate SQLQuery简单实用,做链接查询
  7. treap树---营业额统计
  8. 导出Excel之Epplus使用教程4(其他设置)
  9. 【python cookbook】【字符串与文本】11.从字符串中去掉不需要的字符
  10. java中的接口回调
  11. bash: 避免命令重复执行的简单脚本
  12. Python中:self和__init__的含义 + 为何要有self和__init__
  13. SQLHelper简单版(基础版)
  14. Mac 让 iTerm2 记住用户名密码 expect 脚本
  15. C语言中NULL的定义
  16. xmlrpc
  17. 浅谈Vue之双向绑定
  18. java service 安装
  19. HP 打印机监控
  20. Composer使用体验

热门文章

  1. HDU 树型dp
  2. JUnit中@Test的运行顺序
  3. Atititjs javascript异常处理机制java异常转换.js exception process
  4. 五笔字根--good
  5. 分布式事务slides
  6. 学习 NLP(一)—— TF-IDF
  7. 图灵机(Turing Machine)
  8. libuv 中文编程指南
  9. VS2005下如何安装配置编译Qt4.6
  10. Kitto2 now with free opensource Kide2 since September 2017(提供Web解决方案,大概是觉得Mobile开发快差不多了)