Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
大致流程:
1.安装Qt(源码版)以及其他必要的环境
2.编译/安装
3.配置
4.使用
~~~~~~~~~~正文分割线~~~~~~~~~~
1.安装Qt(源码版)
1.1 下载Qt(两个地址二选一即可,其实安装安卓那个版本也是可以的,我用的就是那个版本。不过如果不想开发安卓,用这个版本就行了)
安装包:Qt 5.4.0 for Windows 32-bit (MinGW 4.9.1, 852 MB)
官网地址:http://www.qt.io/download-open-source/#
1.2 安装Qt
我安装到了 c:\Qt\Qt5.4.0
注意:源码那里也要勾上,默认是不勾选的
注:安装好Qt后,将bin目录添加到PATH环境变量中
1.4 安装Perl(5.8版本或者更高,两个地址二选一即可)----- (好像可以不用安装)
官网地址:http://www.activestate.com/activeperl/downloads
1.3 安装 Python(2.7版本或者更高,两个地址二选一即可)
安装包:Python 3.4.4
官网地址:https://www.python.org/downloads/
注:安装好Python后,将安装目录添加到PATH环境变量中
上述两个环境变量:C:\Qt\Qt5.4.0\5.4\mingw491_32\bin;C:\Python27
2.编译/安装
2.1 打开命令行
2.2 检查
输入以下命令看看 gcc 编译器是否配置正确,
gcc -v
再输入以下命令看看 perl 解释器是否配置正确perl -v
输入以下命令看看 python 是否配置正确python
按 Ctrl + Z 回车,可以退出 python
2.3 切换到源码目录
cd C:\Qt\Qt5.4.0\5.4\Src
三、编译准备 可以在编译前改
我把源码解压到C盘,我的路径是C:\qt-everywhere-opensource-src-5.5.,编辑C:\qt-everywhere-opensource-src-5.5.\qtbase\mkspecs\win32-g++\qmake.conf,找到QMAKE_LFLAGS和QMAKE_LFLAGS_DLL,后面赋值为 -static
QMAKE_LFLAGS = -static
QMAKE_LFLAGS_DLL = -static
保存,退出(如果不做这个修改,生成的执行文件要依赖libgcc_s_dw2-.dll,libstdc++-.dll,libwinpthread-.dll)。
2.4 配置(1分钟左右)
注:这里配置的时候,跳过了qtwebengine、qtwebview如果需要这些模块可以去掉skip
2.5 编译(3小时左右)(本处为8个线程编译,电脑好的可以开更多的线程)
mingw32-make -j8
2.6 安装(根据硬盘性能,大约需要几分钟到20分钟左右)
mingw32-make install -j8
2.7 后续
在编译/安装好后,我们可以把源码目录删了,这可以释放出大约10G的空间,很可观
3.配置
3.1 添加一个Qt版本
3.1.1 打开版本编辑器
打开Qt Creator -> 工具 -> 选项 -> 构件和运行 -> Qt Versions
3.1.2 按照下图添加,然后点Apply
3.2 设置编译器(如果有则不需要设置)
按照下图添加,然后点Apply
3.3 设置套件
按照下图添加
3.4 配置编译器
用记事本打开 C:\Qt\5.4.0_MinGW_static\mkspecs\win32-g++\qmake.conf
找到 QMAKE_LFLAGS 和 QMAKE_LFLAGS_DLL
将后面都改成 -static
4.使用
4.1 打开Qt,新建工程,选择静态编译的套件
4.2 左下角选择release模式
4.3 Ctrl+B编译,然后,静态编译版本的exe就完成了~~是不是很简单呢
Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (原)
Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)的更多相关文章
- QT全平台设置图标,全平台静态编译 good
1. 概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装 ...
- 在Windows下使用MinGW静态编译Assimp
使用MinGW静态编译Assimp 到了5月份了,没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...
- 在Windows通过使用MinGW静态编译Assimp
使用MinGW静态编译Assimp 到了5月份了.没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...
- 用mingw静态编译Qt4.8.2和Qt5.1.1(需要修改不少源码)
因为一些乱七八糟的原因,我需要用mingw静态编译Qt4.8.2和Qt5.1.1.经历了一天的折腾之后,自觉编译一下Qt还是件颇为麻烦的事情,故将过程略作总结,以备不时之需. 首先,在编译之前,我需要 ...
- Qt5.8 在windows下mingw静态编译
官方对编译一些条件介绍:https://doc.qt.io/qt-5/windows-requirements.html 在默认情况下,用QtCreator编译程序时,使用的是动态编译.编译好的程序在 ...
- Android 开发进程 0.35 升级编译版本Android12
Android12升级 工作需要升级到编译版本31 在这里记录一下遇到的问题. 错误:Manifest merger failedManifest merger failed 这个问题通常搜到的答案是 ...
- 记录下 QT Linux 静态编译遇到的坑
Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-open ...
- VS2010使用静态编译的qt库(Qt 5)
Qt 5引入了一种新的编写方式. Qt开发界面很方便,但发布程序就不那么方便了,你的把引用到的dll一起发布才行,要是能静态编译就好了,发布的时候只有一个exe多方便. 虽然以前为了方便,直接安装的q ...
- VS2010使用静态编译的qt库
Qt开发界面很方便,但发布程序就不那么方便了,你的把引用到的dll一起发布才行,要是能静态编译就好了,发布的时候只有一个exe多方便. 虽然以前为了方便,直接安装的qt-windows-opensou ...
随机推荐
- 如何改变word修订模型下的视图
在Word中执行与Find.Range等相关的操作时,需对修订模式下的文档进行特殊处理. 核心知识点 Word中的 RevisionsView 属性只有两种设置:显示标记的最终状态(Final Sho ...
- Gridview 多重表头 (一)
今天看到一个人每个月更新博客,结果七年后改行去卖土特产...感慨良多... 虽然我也想去开餐厅~~ 今天需求里有一个多重表头,感觉比较奇特,特意留下记录,以防我的大脑被艾滋海默攻占~~没有女主的命,不 ...
- js 创建html元素 渲染html元素
var p1 = document.getElementById('p1'); //添加的元素类型及属性var newNode = document.createElement("input ...
- MySql5.1在Win7下的安装与重装问题的解决
痛苦啊痛苦,我也不知道这两天怎么了.上班没有精神,还打瞌睡,下班后又感觉很累.精力集中不起来. 这篇花了我好久的时间,我效率这么差,~\(≧▽≦)/~. 软件包下载 首先单击mysql-5.1.53- ...
- Java web项目
前言 本文目标:使用eclipse为IDE环境搭建一个基于maven的web项目,讲解搭建过程,项目结构,程序运行.调试和测试过程,并使用maven作为持续集成工具. 面向对象:转型java的 ...
- dojo.declare
参考:http://www.ibm.com/developerworks/cn/web/1203_xiejj_dojodeclare/
- JQ点击高亮显示
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Oracle运维服务的四根救命稻草
企业信息化系统建设按生命周期可分为IT规划阶段.IT建设阶段和IT运维阶段,其中,IT运维阶段的时间最长,IT运维管理关乎着IT运维的质量.成本和速度,更关乎着IT系统的安全.连续和可用.大数据云计算 ...
- 认证和注册,提交到App Store:
账号分为个人和公司个人付费后2天左右,收到激活邮件,可以使用 member center certificates,identifiers&profiles:certificates 认证:d ...
- [Effective Modern C++] Item 1. Understand template type deduction - 了解模板类型推断
条款一 了解模板类型推断 基本情况 首先定义函数模板和函数调用的形式如下,在编译期间,编译器推断T和ParamType的类型,两者基本不相同,因为ParamType常常包含const.引用等修饰符 t ...