Qt+Mingw环境(32位+64位)
MinGW-w64 - for 32 and 64 bit Windows下载地址:
文件:mingw-w64-install.exe ---在线安装包
https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
还有一个博客:MinGW 和 MSYS 的手动安装与环境配置:
https://blog.csdn.net/jammg/article/details/52594043
非常好的一个网站,有mingw32和64的详细安装介绍
32位:http://rsreland.net/archives/344
64位:http://rsreland.net/archives/1760
选项:
threads posix或者win32 posix或者win32
exception dwarf或者sjlj seh或者sjlj
1)如果没有跨平台编译需求,就选win32。如果有的话选posix
2)dwarf、sjlj 的异常模型选择,推荐使用dwarf即所谓dw2,这个模型便于调试。不过出来的东西较sjlj的东西体量稍大些。
MinGW的全称叫Minimalist GNU for Windows,是一套Windows环境下GNU编译组件的接口,通俗的可以说是Win上的gcc [1]。比起MinGW,也许那只企鹅CygWin更加著名一些,实现的效果也差不多,但事实上两者的原理是不同的。Cygwin通过一个中间层的动态链接库来实现Win API和Cygwin的连接,好处是应用在Linux与Win之间移植更加方便,风格更加一致,缺点是发布应用时一定要带上Cygwin的环境动态库,应用执行效率也略微有点低;MinGW则使用静态链接的方式,生成的应用更加本地化,不需要依赖任何第三方的C/C++ RT动态链接库,仅依赖Win自身的运行环境,应用执行效率也稍高[4]。当然现在这两家也开始有了一些功能的互补,总而言之可以相互作为替代品使用。(2012-05-02修改)
MSYS的全称叫Minimal SYStem,是MinGW的一个子系统,是一套运行在Windows上的bash,也就是运行在Win上的Linux Terminal [1]。这个比较好理解,其实就是在Win上使用Linux的命令行进行操作,可以代替cmd来使用。对一些GNU的开源软件,MSYS可能是必需的,因为它们通常需要./configure然后make才能运行(学Linux的童鞋应该非常熟悉这个流程了)[2]。我们将MSYS和MinGW配合使用就可以打造出一个Win下的GNU命令行终端和编译系统。
有一点需要说明的是,MinGW是MSYS都是一套组件而不是一个单独的程序。我们需要下载两者的各组件的压缩包来完成安装和配置。组件的意义在于,我们可以下载需要的部分来配置一个想要的系统,比如不搞编译器设计的童鞋可能不需要flex和bison组件(用来词法和语法分析的),而automake工具也可以在需要的时候才安装,这类似于Linux下环境的配置。知道了这些,我们就可以开始MinGW和MSYS的安装了。
以下转载自:百度经验
https://jingyan.baidu.com/article/19192ad816ea01e53e570730.html
配置mingw-w64环境变量:
在桌面找到我的电脑图标->右键->属性->高级系统设置->选择“高级”选项->选择下面“环境变量”->Administrator 的用户变量
如果有Path 变量的话直接双击打开变量值栏输入G:\MinGW\mingw64\bin;
并且输入的这段放在最开头,记得有分号。
【我这个是将mingw64安装在G盘,所以“G:\MinGW\mingw64\bin;”如果你是安装在C盘那么就是C:\MinGW\mingw64\bin;】
验证mingw-w64是否安装配置成功:
第五步环境变量配置好之后,最好重启电脑;然后打开命令框输入:gcc -v
显示如下信息 表示安装配置成功,大功告成,你可以结合eclipse-cpp 软件尽情地在64位环境开发64位的c++程序了
Qt:qt-opensource-windows-x86-5.11.1.exe下载地址
http://download.qt.io/archive/qt/5.11/5.11.1/
Qt:qt-opensource-windows-x86-mingw530-5.7.0.exe下载地址
http://download.qt.io/archive/qt/5.7/5.7.0/
由于编译需要,平常下载的Qt版本是
安装选项解释:
Tools中的第二项,虽然名字带 MinGW,但只是用于交叉编译的(交叉编译即在某一平台上编译用于其他平台的程序),如果用不到,也可以不选。
我们新建一个Qt界面的Demo1,用默认的MinGW 32 测试
如果你的电脑安装了VS2013等产品,打开VS安装时候提供的控制台窗口,比如:
随便选择一个,这里我选择 VS2013 x64 本机工具命令提示
cd到该程序目录:D:\Qt\Project\build-Demo1-Desktop_Qt_5_11_1_MinGW_32bit-Debug\debug
用下面的命令查看程序的头部信息:dumpbin /HEADERS Demo1.exe(or XXX.dll)
dumpbin /HEADERS Demo1.exe
注:这里命令如果不好使,肯定是空格的问题,我刚开始直接复制网页上的,就会报错,因为中间采用的是中文的空格
程序一下输出太多,我们看不到最前面的信息了,这里我们可以加参数实现:
如 systeminfo | more 每运行一屏,按回车继续查看更多消息
dumpbin /HEADERS Demo1.exe systeminfo|more
安装MinGW 64位,在Qt32位的同位置下,新建一个64位 mingw53_64
出错,下载不到,只能找530的代替
MinGW-W64 GCC-5.4.0
x86_64-posix-sjlj
x86_64-posix-seh
x86_64-win32-sjlj
x86_64-win32-seh 最后选择了这个,540版本的
i686-posix-sjlj
i686-posix-dwarf
i686-win32-sjlj
i686-win32-dwarf
下载地址:
解压。接下来准备编译Qt
发现有人已经有编译好的,由于需求,先直接拿来用,看未来有没有需求自己编译
编译好的Qt64位下载地址:
Qt 5.9.0 win64位
Qt官网仅提供32位Qt安装包,因项目需要,编译了64位的Qt5.9.0。
上传方便也有64位Qt需求的程序员(媛)使用。
备注:两个部分
地址:
第一部分
https://download.csdn.net/download/wxiuqing856/10277899
第二部分
https://download.csdn.net/download/wxiuqing856/10277907
未来如果有需求,自己编译,要参考博客
https://blog.csdn.net/an505479313/article/details/55105397
而且一定记得Qt Creator 4.6.2 (Enterprise) Qt Creator也要选择一个64位版本的
还有一种方,直接配置官网编译好的
参考博客:https://blog.csdn.net/laowulong350/article/details/79130204
下载地址:
https://sourceforge.net/projects/qt64ng/files/qt/x86-64/5.5.0/mingw-5.1/seh/
http://download.qt.io/official_releases/qtcreator/4.4/4.4.1/
以下是网上的一段话,从这段话中,我觉得,可能qtcreator + mingw-x64 的组合不是随意的,为了避免出错,我们就选择的时候,顺便了解以下,qtcreator是由什么Qt版本编写的,然后选择正确的mingw x64
注意一: Qtcreator 源码存放路径各文件夹的命名不要有中文,不能有空格
(尤为重要 有人下意识会把文件名命名为Qt creator,这里有空格编译时候就
会导致各种奇奇怪怪的问题)
注意二:编译Qt Creator所使用的Qt Creator以及Qt 库三者要一致(例如
编译Qt creator3.4.1, 其使用Qt5.4.2编写的。所以我们编译时候要使用Qt5.4.2
对应的Qt creator版本要为Qt creator3.4.1(32bit).三者有一个不一致都会导致
奇奇怪怪问题出现)
这里我进行了测试,并没有要求必须相同,测试效果如下:
安装了32位和64位的Qt Creator 以及 Qt5.5.0和MinGW5.1.0版本
其中Qt Creator基于其他版本Qt,并不影响
接下来是环境配置
具体如下: