1. 下载4.8.7源码Index of /archive/qt/4.8/4.8.7

  2. 复制mkspecs\win32-msvc2015mkspecs\win32-msvc2019

  3. 修改qmake.conf

    1. 第2行:2017=>2019

    2. 第4行:2017=>2019

    3. 第12行:_MSC_VER=1920

    4. 第19行:QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t

    5. 第22行:QMAKE_CFLAGS_RELEASE = -O2 -MD -Zi

    /FS(强制同步 PDB 写入) | Microsoft Learn

    /OPT(优化) | Microsoft Learn

    Predefined macros | Microsoft Learn

  4. 修改qmake\Makefile.win32

    1. 第1行:

      !IF "$(QMAKESPEC)" == "win32-msvc" || "$(QMAKESPEC)" == "win32-msvc.net" || "$(QMAKESPEC)" == "win32-msvc2002" || "$(QMAKESPEC)" == "win32-msvc2003" || "$(QMAKESPEC)" == "win32-msvc2005" || "$(QMAKESPEC)" == "win32-msvc2008" || "$(QMAKESPEC)" == "win32-msvc2010" || "$(QMAKESPEC)" == "win32-msvc2012" || "$(QMAKESPEC)" == "win32-msvc2013" || "$(QMAKESPEC)" == "win32-msvc2015" || "$(QMAKESPEC)" == "win32-msvc2019" || "$(QMAKESPEC)" == "win32-icc"
    2. 第27行:

      !elseif "$(QMAKESPEC)" == "win32-msvc2008" || "$(QMAKESPEC)" == "win32-msvc2010" || "$(QMAKESPEC)" == "win32-msvc2012" || "$(QMAKESPEC)" == "win32-msvc2013" || "$(QMAKESPEC)" == "win32-msvc2015" || "$(QMAKESPEC)" == "win32-msvc2019"
  5. 修改tools\configure\configure.pro

    1. 第23行:

      win32-msvc2015: DEFINES += _ALLOW_KEYWORD_MACROS
      win32-msvc2019: DEFINES += _ALLOW_KEYWORD_MACROS
  6. 修改tools\configure\configureapp.cpp

    1. 第1379行:

                  qmakeSpec.endsWith("-msvc2015") ||
      qmakeSpec.endsWith("-msvc2019")) {
  7. 修改\src\3rdparty\clucene\src\CLucene\StdHeader.h

    第127行,增加宏定义,消除hash_maphasn_set的警告:

    	#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
  8. Configure命令:

    configure -make nmake -static -platform win32-msvc2019 -debug-and-release -opensource -confirm-license -nomake examples -nomake tests -nomake docs -nomake demos -prefix "F:\Code\Library\Qt\Qt4.8.7\4.8.7\msvc2019_86_static" -no-qt3support -no-dbus -no-webkit -no-phonon -no-opengl -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-phonon-backend -no-multimedia -no-script -no-scripttools -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -no-native-gestures -mp

    Configuration Options for Qt | Qt 4.8

  9. 添加bin文件夹到系统路径Path

    F:\Code\Library\Qt\Qt4.8.7\qt-everywhere-opensource-src-4.8.7\bin

    Installing Qt for Windows | Qt 4.8

  10. 打开x86 Native Tools Command Prompt for VS 2019,到代码路径F:\Code\Library\Qt\Qt4.8.7\qt-everywhere-opensource-src-4.8.7,编译

    configure -make nmake -static -platform win32-msvc2019 -debug-and-release -opensource -confirm-license -nomake examples -nomake tests -nomake docs -nomake demos -prefix "F:\Code\Library\Qt\Qt4.8.7\4.8.7\msvc2019_86_static" -no-qt3support -no-dbus -no-webkit -no-phonon -no-opengl -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-phonon-backend -no-multimedia -no-script -no-scripttools -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -no-native-gestures -mp
    nmake && nmake install
  11. 参考

    msvc2015 编译 Qt 4.8.7 和 4.8.6 - 流浪侠客 - 博客园 (cnblogs.com)

    Compiling Qt4 HEAD with MSVC 2015 - cstdint errors | Qt Forum

    Building Qt 4.8.7 with Visual Studio 2017? | Qt Forum

    Installing Qt for Windows | Qt 4.8

    qt4.8.7 源码在win7+vs2010环境的x64编译(qt 64位)_木泽八的博客-CSDN博客

    在Visual Studio高版本中使用Qt4,MSVC 2015/2017编译Qt 4.8.7源码_利白的博客-CSDN博客_qt4 vs2017

    district10/qt4-vs2015x64: Qt4 & Visual Studio 2015 (vc14). (github.com)

    sandym/qt-patches: Patches to some release versioin of Qt I use (github.com)

    在 VS2015 中使用 Qt4 - 简书 (jianshu.com)

    Installation | Qt 4.8

    Qt 4.8

    Known Issues | Qt 4.8

    win10下vs2010编译64位qt4.8.7_YngSo的博客-CSDN博客

    VS2019 配置 qt4.8.7_Nrtyck的博客-CSDN博客

VS2019编译Qt4.8.7的更多相关文章

  1. Windows下MinGW编译Qt4

    还真不是吹,这个问题折磨我一天……前些天转载了一篇关于<Eclipse+Qt开发环境设置>和<Eclipse+MinGW+Qt开发环境设置>两片文章,里面讲述了QT的开源版本q ...

  2. 利用VS2008编译器编译Qt4.8.2的MySQL驱动

    准备:安装VS2008和Qt 4.8.2,并且设置环境变量(QTDIR=C:\Qt\4.8.2 和 path+=C:\Qt\4.8.2\bin) 一.下载mysql数据库,安装(完全安装)到C盘根目录 ...

  3. VS2019编译 当前最新版chromium

    之前编译过webrtc和chromium, 由于长时间没用,被我删除了, 最近在最新版本的google浏览器上遇到了播放器兼容性问题,老版本的google浏览器是没问题,IE, 火狐浏览器也没问题, ...

  4. vs2019编译opencv

    序 微软家的宇宙第一ide:visual studio已经更新到了2019版,芒果也更新尝鲜了一遍,体验还不错,建议更新尝尝鲜.芒果顺便使用vs2019编译了一遍opencv,编译过程也非常顺利,以下 ...

  5. 用mingw静态编译Qt4.8.2和Qt5.1.1(需要修改不少源码)

    因为一些乱七八糟的原因,我需要用mingw静态编译Qt4.8.2和Qt5.1.1.经历了一天的折腾之后,自觉编译一下Qt还是件颇为麻烦的事情,故将过程略作总结,以备不时之需. 首先,在编译之前,我需要 ...

  6. 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...

  7. 使用VS2005安装和编译QT4.53源码

    学习Qt,当然是QT4好.可是装了4.86以后,网上下载的书中的例子大多无法直接用VS执行(个人不喜欢用QT Creator),即打开pro转换的时候出错(我也懒的研究为什么出错了).看了一下发布时间 ...

  8. VS2005 编译 Qt4.8.2库,并修正源码中的错误

    从昨天开始利用VS2005对Qt4.8.2库进行编译,在编译到某个文件时,总是报错,提示VS的cl.exe和nmake.exe返回致命错误.错误罗列如下: DefaultLocalizationStr ...

  9. VS2005下如何安装配置编译Qt4.6

    本文将使用简单的几个步骤说明在VC 2005下如何编译安装并开发Qt4.6应用程序,其实大部分方法和Qt4.6.0是一样的,不过Qt4.6.0集成了Qt Creater,目录的形式有点改变了,现在我就 ...

  10. Windows下静态编译Qt4

    既然是静态编译,那就要编译出来的程序不信赖于任何dll文件.首先下载qt-win-opensource-4.7.4-mingw.exe: http://get.qt.nokia.com/qt/sour ...

随机推荐

  1. pip和pipenv简记

    一. pip篇 1. 配置文件换源 windows:C:\Users\Administrator\pip\pip.ini mac:~/pip/pip.conf [global] index-url = ...

  2. JZOJ 1077. 【GDKOI2006】防御力量

    \(\text{Solution}\) 首先这个题目描述得不清不楚 反正做法是过 \(A\) 城引一条直线,算出直线两侧点数的 \(min\) 找到最优直线,即 \(min\) 最小的 那么重点在判断 ...

  3. JZOJ 6904. 【2020.11.28提高组模拟】T3 树上询问(query)

    题目 你有一棵 \(n\) 节点的树 ,回答 \(m\) 个询问,每次询问给你两个整数 \(l,r\) ,问存在多少个整数 \(k\) 使得从 \(l\) 沿着 \(l \to r\) 的简单路径走 ...

  4. 全局视角看技术-Java多线程演进史

    作者:京东科技 文涛 全文较长共6468字,语言通俗易懂,是一篇具有大纲性质的关于多线程的梳理,作者从历史演进的角度讲了多线程相关知识体系,让你知其然知其所以然. 前言 2022年09月22日,JDK ...

  5. (五) Mysql 之锁详细篇

    一.锁的分类1.范围:全局锁.表级锁.行级锁2.功能分类:共享锁.排它锁 二.数据库的全局锁 加锁:mysql> flush tables with read lock; 释放锁:mysql&g ...

  6. fastai fit_one_cycle AttributeError: 'function' object has no attribute 'parameters'

    初学fastai   fit_one_cycle语句报错指向614行, 即: return [p for p in m.parameters() if p.requires_grad] 在以前遇到这种 ...

  7. C# 游戏雏形 人物地图双重移动

    1. 设计出发点 准备做一个旅游短视频,想实现一个小人或汽车在百度地图上按指定路线移动的效果,把之前自己写的代码拿出来,修改完成. 主要修改内容: (1)实现了人物地图双移动.即如果人物向屏幕中间移动 ...

  8. K8s集群调度

    k8s 调度器 Scheduler 是 kubernetes 的调度器,主要的任务是把定义的 pod 分配到集群的节点上.听起来非常简单,但有很多要考虑的问题: 公平:如何保证每个节点都能被分配资源 ...

  9. calico 关闭SNAT

    calico 关闭SNAT 默认情况下,calico 访问集群外网络是通过 SNAT 成宿主机 ip 方式,在一些金融客户环境中为了能实现防火墙规则,需要直接针对 POD ip 进行进行规则配置,所以 ...

  10. 肖sir__整理项目链接

    项目链接: https://www.cnblogs.com/xiaolehong/p/16460523.html 保险项目https://www.cnblogs.com/xiaolehong/p/16 ...