windows下使用mingw和msvc静态编译Qt5.15.xx

  1. 下载并安装相关依赖软件

    一般来说下载这三个工具就可以,记得要设置环境变量,当然你要编译MSVC版的安装Visual Studio2017,并且安装它。要编译mingw版本需要已经安装Qt版本。

  2. 下载Qt官方源码qt-everywhere-src-5.15.xx.zip (根据需要编译的版本进行下载),链接如下

http://download.qt.io/official_releases/qt/5.15/

  1. 开始编译:

    • msvc2017编译

      1. 打开vs2017命令行工具,里面配置了vs的环境变量,这里不能用windows自带的cmd终端代替。

      2. 切换到Qt源码路径,执行命令:

        configure.bat -static -prefix "D:\Qt\Qt5.15xx_msvc2017_static" -confirm-license -opensource  -debug-and-release -platform win32-msvc  -nomake examples -nomake tests  -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -mp
        configure.bat
        -static //指明是静态编译
        -prefix "D:\Qt\Qt5.15xx_msvc2017_static" //指明安装的目录
        -confirm-license -opensource //指明是开源版本的qt
        -debug-and-release //指明需要debug版和release版,可以单独选择release版
        -platform win32-msvc //指明使用msvc编译
        -nomake examples -nomake tests //不编译样例
        -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg //可选插件
        -opengl desktop
        -mp //多核编译

        生成makefile文件之后就可以调用make编译器进行编译了,msvc版本的make编译器是nmake。nmake是不支持多线程编译的,单线程编译的话时间长的令人发指,推荐使用Qt在windows下专门的编译器jom,QtCreator使用的就是jom编译器,加上-j xx(电脑支持的线程数)爽歪歪。

        Qt自带的jom编译器路径是 D:\Qt\Qt5.14.2\Tools\QtCreator\bin\jom.exe,如果不能识别jom命令请添加路径到环境变量。如果是旧版本的Qt可能没有带jom,此时可以从Qt官网下载:

      3. 接下来执行 nmake & nmake install(使用jom的话用 jom -j xx &jom -j xx install代替)

      接下来就是漫长的等待,最后编译好的Qt版本在 -prefix 设置的目录下,本人16线程全开,make的时间是20多分钟,但是install的时间很长,可能是没加 -j 参数的原因

    • mingw编译

    1. 打开Qt的mingw命令行工具,

    2. 切换到Qt源码路径,执行命令:

      configure.bat -static -prefix "D:\Qt\Qt5.15xx_mingw_static" -confirm-license -opensource -debug-and-release -platform win32-g++ -nomake examples -nomake tests -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -mp,这里不截图了,参数介绍同上,主要是修改编译平台win32-g++.

    3. 使用jom 编译jom -j xx &jom -j xx install

    4. 等待ing,a few moments later... 一个崭新的Qt静态版本诞生了

    如何配置编译好的版本到QtCreator网上的教程很多,这里就不做搬运工了~

windows下使用mingw和msvc静态编译Qt5.15.xx的更多相关文章

  1. 在Windows下用MingW 4.5.2编译OpenCV 2.3.0

    需要的工具:1.安装QT SDK环境2.安装CMake for Windows3.OpenCV最新Windows源码步骤:1.将QT SDK安装目录下的{QtSDK}\mingw\bin添加到系统环境 ...

  2. Windows下使用MinGW在命令行编译运行C++程序

    之前学习C语言的时候都是用IDE类似CodeBlocks的工具写完直接编译运行的,今天突然心血来潮,自己下一个编译器,在命令行下,编译运行C++程序,了解一下编译过程. 一.安装编译器 首先你需要下载 ...

  3. 在Windows下用MingW 4.5.2编译live555

    1.下载live555(http://www.live555.com/liveMedia/public/),解压. 2.进入MingW Shell,输入cd: F:/Qt/live(假定解压到F:/Q ...

  4. 在Windows下用Mingw 4.5.2编译X264

    1.下载mingw-get-inst-20110530.rar(http://www.baidu.com/link?url=-ixXW6QiuEl8CA1dKudoWCxzcTvxrpQ0nXRBHU ...

  5. 在Windows下用MingW 4.5.2编译FFmpeg

    1.下载FFmpeg(http://ffmpeg.org/download.html),解压. 2.进入MingW Shell,cd F:/Qt/ffmpeg(假定解压到F:/Qt/ffmpeg) 3 ...

  6. 在Windows下使用MinGW静态编译Assimp

    使用MinGW静态编译Assimp 到了5月份了,没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...

  7. 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)

    转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...

  8. windows 下使用 mingw编译器 调试时 无法跟进源码

    windows 下使用 mingw编译器 调试时 无法跟进源码 最近在公司使用QT 开发,官方在线下载的 安装的QT mingw 都是没有debug版本的 由于没有debug版本动态库 所以你调试的时 ...

  9. Windows下为 Eclipse 配置 C/C++ 编译环境(转)

    1.Eclipse及CDT的安装 CDT的全称是C/C++ DevelopmentTools,CDT使得Eclipse能够支持C/C++的开发.直接下载 eclipse CDT 集成版 下载地址:ht ...

随机推荐

  1. 服务启动Apache服务,错误Parent: child process exited with status 3 -- Aborting.解决

    不能启动apache,或者使用wamp等集成包后,唯独apache服务启动后有停止,但是把东西搬到其他机器上却没事问题可能和网络有关,我查了很多资料首先找打apache的错误报告日志,发现现实诸多的调 ...

  2. 【Django 字段和相关参数补充】

    字段类型: 1.models.AutoField 自增列=int(11) 如果没有的话,默认会生成一个名称为id的列,如果要显示的自定义一个自增列,必须将给列设置为主键primary _key=Tru ...

  3. centos 7 配置 mysql 5.7 主从复制

    centos 7 配置 mysql 5.7 主从复制 主库:192.168.12.3 从库:192.168.12.2 1. 主库从库所在服务器关闭防火墙Systemctl stop firewalld ...

  4. 《Stereo R-CNN based 3D Object Detection for Autonomous Driving》论文解读

    论文链接:https://arxiv.org/pdf/1902.09738v2.pdf 这两个月忙着做实验 博客都有些荒废了,写篇用于3D检测的论文解读吧,有理解错误的地方,烦请有心人指正). 博客原 ...

  5. css 11-CSS3属性详解(一)

    11-CSS3属性详解(一) #前言 我们在上一篇文章中学习了CSS3的选择器,本文来学一下CSS3的一些属性. 本文主要内容: 文本 盒模型中的 box-sizing 属性 处理兼容性问题:私有前缀 ...

  6. [从源码学设计]蚂蚁金服SOFARegistry 之 自动调节间隔周期性任务

    [从源码学设计]蚂蚁金服SOFARegistry 之 自动调节间隔周期性任务 目录 [从源码学设计]蚂蚁金服SOFARegistry 之 自动调节间隔周期性任务 0x00 摘要 0x01 业务领域 0 ...

  7. Lua的require小结

    在游戏开发中会经常使用到lua作为游戏逻辑层的脚本语言,各种优势就不说了,虽然平时用的比较多,但对lua语言本身和内部的一些实现并不是很了解,让我们先从lua的require入手来一探require的 ...

  8. 5、Mycat安全

    1.权限配置 [1].user标签 目前 Mycat 对于中间件的连接控制并没有做太复杂的控制,目前只做了中间件逻辑库级别的读写权限控制.是通过 server.xml 的 user 标签进行配置. # ...

  9. MySQL优化索引

    1.  MySQL如何使用索引 索引用于快速查找具有特定列值的行.如果没有索引,MySQL必须从第一行开始,然后遍历整个表以找到相关的行.表越大,花费越多.如果表中有相关列的索引,MySQL可以快速确 ...

  10. ASP.NET Core 3.1使用Swagger

    一.什么是Swagger 随着技术的不断方法,现在的网站开发基本都是使用前后端分离的模式,这样使前端开发者和后端开发者只需要专注自己擅长的即可.但这种方式会存在一种问题:前后端通过API接口的方式进行 ...