windows下使用mingw和msvc静态编译Qt5.15.xx
windows下使用mingw和msvc静态编译Qt5.15.xx
下载并安装相关依赖软件
- Python version 2.7 https://www.python.org/downloads/ (python2.7.5及以上,pythone3.X不行)
- Ruby version 2.5.3 http://www.ruby-lang.org/zh_cn/downloads/
- Perl version 5.24.3 http://www.perl.org/get.html
- Visual Studio 2017
一般来说下载这三个工具就可以,记得要设置环境变量,当然你要编译MSVC版的安装Visual Studio2017,并且安装它。要编译mingw版本需要已经安装Qt版本。
下载Qt官方源码qt-everywhere-src-5.15.xx.zip (根据需要编译的版本进行下载),链接如下
http://download.qt.io/official_releases/qt/5.15/
开始编译:
msvc2017编译
打开vs2017命令行工具,里面配置了vs的环境变量,这里不能用windows自带的cmd终端代替。
切换到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官网下载:接下来执行
nmake & nmake install
(使用jom的话用jom -j xx &jom -j xx install
代替)
接下来就是漫长的等待,最后编译好的Qt版本在
-prefix
设置的目录下,本人16线程全开,make的时间是20多分钟,但是install的时间很长,可能是没加-j
参数的原因mingw编译
打开Qt的mingw命令行工具,
切换到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++
.使用jom 编译
jom -j xx &jom -j xx install
等待ing,a few moments later... 一个崭新的Qt静态版本诞生了
如何配置编译好的版本到QtCreator网上的教程很多,这里就不做搬运工了~
windows下使用mingw和msvc静态编译Qt5.15.xx的更多相关文章
- 在Windows下用MingW 4.5.2编译OpenCV 2.3.0
需要的工具:1.安装QT SDK环境2.安装CMake for Windows3.OpenCV最新Windows源码步骤:1.将QT SDK安装目录下的{QtSDK}\mingw\bin添加到系统环境 ...
- Windows下使用MinGW在命令行编译运行C++程序
之前学习C语言的时候都是用IDE类似CodeBlocks的工具写完直接编译运行的,今天突然心血来潮,自己下一个编译器,在命令行下,编译运行C++程序,了解一下编译过程. 一.安装编译器 首先你需要下载 ...
- 在Windows下用MingW 4.5.2编译live555
1.下载live555(http://www.live555.com/liveMedia/public/),解压. 2.进入MingW Shell,输入cd: F:/Qt/live(假定解压到F:/Q ...
- 在Windows下用Mingw 4.5.2编译X264
1.下载mingw-get-inst-20110530.rar(http://www.baidu.com/link?url=-ixXW6QiuEl8CA1dKudoWCxzcTvxrpQ0nXRBHU ...
- 在Windows下用MingW 4.5.2编译FFmpeg
1.下载FFmpeg(http://ffmpeg.org/download.html),解压. 2.进入MingW Shell,cd F:/Qt/ffmpeg(假定解压到F:/Qt/ffmpeg) 3 ...
- 在Windows下使用MinGW静态编译Assimp
使用MinGW静态编译Assimp 到了5月份了,没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...
- 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)
转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...
- windows 下使用 mingw编译器 调试时 无法跟进源码
windows 下使用 mingw编译器 调试时 无法跟进源码 最近在公司使用QT 开发,官方在线下载的 安装的QT mingw 都是没有debug版本的 由于没有debug版本动态库 所以你调试的时 ...
- Windows下为 Eclipse 配置 C/C++ 编译环境(转)
1.Eclipse及CDT的安装 CDT的全称是C/C++ DevelopmentTools,CDT使得Eclipse能够支持C/C++的开发.直接下载 eclipse CDT 集成版 下载地址:ht ...
随机推荐
- (原创)nginx反向代理上网,使docker可以拉取镜像
转载请注明出处:饭饭博客:https://www.cnblogs.com/zzf0305/p/9602107.html 摘语:参考了N多大侠的资料,终于将自己的环境配置起来了.站在众多巨人的肩膀进行总 ...
- 开始学习Django,配置静态登录页面
开始学习Django,配置静态登录页面 准备阶段 众所周知,Django是一个重量级的设备齐全的web开发框架.在学习Django前我们需要具备如下的知识点: python基础编程 并发 网络编程 H ...
- AWT02-ContainerAPI
1.体系 Object -Component -Container Window:窗口容器 Frame:创建窗口 Dialog:创建对话框 Panel:内嵌容器 Applet ScrollPane:含 ...
- GET和POST的区别与联系
每日知识-GET和POST HTTP:超文本传输协议 组成部分:请求行,请求头部,一个空行,请求数据 GET和POST GET:get就是获取的意思,默认的HTTP请求方式,把参数通过 key/val ...
- vue 属性绑定 v-bind
属性绑定 v-bind 可以通过v-bind将属性值与数据绑定,这样就可以统一化管理 通过这样我们就可以直接访问跳转到百度页面 同样的这个值我们也可以通过事件进行改变 这样就可以方便我们做一些其它的操 ...
- mysql难题收录
1.计算相邻两行的年龄的差距 表中的数据如下 select (s.age-(select age from stu where id - s.id = 1)) from stu as s; selec ...
- 系统类 System类
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包. 由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类.其内部的成员变 ...
- 在IDEA中使用JDBC获取数据库连接时的报错及解决办法
在IDEA中使用JDBC获取数据库连接时,有时会报错Sat Dec 19 19:32:18 CST 2020 WARN: Establishing SSL connection without ser ...
- matplotlib的学习6-annotation的标注
import matplotlib.pyplot as plt import numpy as np ''' 当图线中某些特殊地方需要标注时,我们可以使用 annotation. matplotlib ...
- CTF练习三 —— 命令注入&命令执行绕过
这个题是第四届强网杯也就是2020.8.22号开始的那场一道简单的命令注入题,再这之前我并没有学习过命令注之类的知识,,,看到题之后先搜在学,,误打误撞解了出来,过段时间wp就会放出来,所以这里就不对 ...