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. 安卓逆向 HOOK 第二课 普通方法的HOOK

    先分析关键代码 静态分析结果这是一个boolean返回值的方法,该将用户名和注册码作为参数传进来,默认返回false.当用户名为空时,直接返回false.如果用户名长度不等于0且注册码不等于空且注册码 ...

  2. 跳板攻击之:ICMP代理转发与反弹shell

    跳板攻击之:ICMP代理转发与反弹shell 郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护 ...

  3. CF837G - Functions On The Segments

    我们考虑 \(\sum_{i=l}^r{f_i(x)}\) 是个什么东西.首先这个奇怪的东西很好离线做,所以尽管题目要求强制在线,我们还是离线下来试试. 我们发现,我们可以 \(x\) 坐标从 \(1 ...

  4. VSCode 自定义代码片段

    Ctrl+Shift+P 输入"代码片段:配置用户代码片段": 搜索你想要设置的语言代码片段,比如,我设置 .vue 文件的代码片段,选择 vue.json: 可以配置多个代码片段 ...

  5. Vscode报错: error:0308010C:digital envelope routines::unsupported错误记录解决

    Vscode报错: error:0308010C:digital envelope routines::unsupported错误记录解决 因为安装了新版本的node才报的错误:node版本: v18 ...

  6. python3.9不支持win7

    安装:Anaconda3-2022.10-Windows-x86_64.exe 会报错:Failed to create Anaconda menus 详细信息:Error loading Pytho ...

  7. ABAP 拼接PDF

    参考标准程序RSPO_TEST_MERGE_PDF_FILES*--合并PDF data: pdf_merger type ref to cl_rspo_pdf_merge. data: ex typ ...

  8. 问题记录——nginx加载lua 模块,启动报错找不到 libluajit-5.1.so.2

    环境:SUSE 12 SP3 问题说明:根据工作需求,重新编译nginx加载 lua 模块后启动报错如下: 首先是尝试在 /etc/profile 配置文件中添加环境变量并 source /etc/p ...

  9. java学习日记20230225-java介绍

    sun公司 oak语言--java gosling >sun 1995 java第一个版本 2009年 甲骨文公司收购sun 2011 java7 2014 java8 2022-2030年 长 ...

  10. Vulnhub:maskcrafter-1.1靶机

    kali:192.168.111.111 靶机:192.168.111.187 信息收集 端口扫描 nmap -A -v -sV -T5 -p- --script=http-enum 192.168. ...