另辟蹊径-利用MSYS2安装MinGW+Qt开发环境(含32位-64位-动态库-静态库-qwt-opencv等等)

别妄想泡我
597次浏览
2021年02月07日 06:39
最佳经验
本文由作者推荐

医疗纠纷总结-

2021年2月7日发(作者:南辕北辙告诉我们什么道理)


另辟蹊径


-


利用


MSY S2


安装


MinGW+Qt


开发环境< /p>



(含


32


位< /p>


-64


位


-


动态 库


-


静态库


-qwt- opencv


等等)



By Winland, 2015.04.04



本文介绍在


Windows


系统里



MSYS2


环境和



MinGW-w64


编译套件安装、


Qt


开发环境安装。



一、

< p>
MSYS2


及其安装使用



1


、


MSYS2


介绍



这得从



MinGW


和



MSYS


说起,原本



GNU


工具只在



Linux/Unix


系统里才有,随着



Windows


系统的广泛使用,



为了在



Windows


系统里可以使用



GNU


工具,诞生了



MinGW


(


Minimalist GNU for Windows


)



项目,利用



MinGW


就可以生成



Windows


里面的



exe


程序


和



dll


链接库。


MinGW


只是编译工具集没有类似


Unix


命令行环境,


所以为了进一步在


Windows


系统 上使用类


Unix


环境,


MinGW< /p>


项目组衍生了


MSYS


子项目,该项目从


Cygwin


派生,构造


了一个类


Unix


命令行环境,并提供


POSIX< /p>


功能支持。



MinGW


本身仅支持生成


32


位程序,而


MinGW-w64


项目相当于是


MinGW


的升级版,同


时支持生成


32


位和


64


位程序。


MSYS2


也是


MSYS


的衍生版,使用

< br>MinGW-w64


编译工具集。


另外

< br>MSYS2


还有一个非常强大的功能,


它从


Arch Linux


引入了软件包管理器


pacm an


工具,


使


得


MSYS2


功能扩展非常方便,并且可以通过


pacman< /p>


来解决各个软件和库之间的依赖关系,自


动安装需要的依赖软件包 。



MSYS2


项目还打包了非常多的 开发库和开发工具,


能移植到


Windows

< br>上的估计都打包了,


而且还可以进行扩展。因此通过


MS YS2


的


pacman


工具安装诸如< /p>


MinGW-w64


编译工具集、


Qt< /p>


开发库和


QtCreator


、


qwt


绘图插件、


opencv


开发库、


ffmpeg


、


gs treamer


、


openssl


、< /p>


sqlite


、


postgresql< /p>


、


gtk


、


cr ypto++


、


mesa


、

< p>
openal


、


tcl/tk

、


vlc


、


zlib


、


SDL


等,都是易如反掌。对于

< br>python


、


perl


、


ruby


、


lua


脚本环境,



git


、


mercurial


、


cvs


等版本控制软件,


cmake


、


cla ng


、


llvm


等编译生成工


具,也可以通过


pacman


来安装。




MSYS2


主页



/




/projects/msys2/





MSYS2


详细安装指南


< p>
/p/msys2/wiki/MSYS2%20installation/






2


、安装


MSYS2


首先从


MSYS2


项目主页或


SourceForge


下载


MSYS2


的基本安装包:



32


位系统下载




,



64


位系统下载



msys2-x86_


。



请记住



i686

< br>对应


32


位系统,


x86_64


对应


64


位系统,以后装软件都是这种 对应关系。



下面以


32


位的



示范安装过程:



点击“下一步”,





注意上面选择安装位置,路径里不要有任何中文、特殊字符、 空格等等,一般装在磁盘根的


msys32


或

< br>msys64


目录。


注意磁盘剩余空间要有


10GB


以上剩余空间(硬盘空间不足的不要模


仿)


,那个分区剩余空间比较大就装哪。


MSYS2


本身不大,但是后续如果装


Qt


库、

< br>opencv


之


类的,


会越装越 多,


所以要留足空间。


Qt


动态库安装 后是


2.7GB


,


Qt


静态库也是差不多


2.7GB


,


非常占空间。



设置好安装路径,点击“下一步”,




点击下一步,



等待安装结束,



< br>点击完成,看到


MSYS2


命令行:



先关闭该命令行,现在还干不了什么。




安装后,在开始菜单


-->MSYS2 32bit-->



里面有三个命令行工具:



第一个



MinGW-w64 Win32 Shell


是指


32


位程 序开发环境,


在


32


位和


64


位


Windows


里都 能用。



第二个



MinGW-w64 Win64 Shell



是指


64


位程序开发环境,仅在

64


位


Windows


里使用。< /p>



第三个



MSYS2


Shell


是

< p>
MSYS2


环境管理命令行,可以安装卸载


MSY S2


环境里软件、管理文


件系统、执行脚本等等。



只有在头两个



MinG W-w64


的命令行里才能使用


gcc


、


g++


等编译工具。


MSYS2 Shell


一般仅用


于软件包安装管理和更新,另外两个


Shell


才是开发环境,不要弄错了。




3


、更新


M SYS2


系统环境



MSYS2


环境的软件和升级都是在线方式的,需要联网下载。所以需要一个可靠的软件源,软件


源配置文件在




msys32etcpacman.d


文件夹里三个:





32


、


64


、



更换软件源的话只需要更改三个文件里的


Server =



右边的服务器地址,


用写字板或其 他编辑器


打开编辑就行了,里面都是文本(注意备份旧的文件)。



软件源可以使用默认的


SourceForge

< p>
官方地址,也可以自定义,比如使用爱尔兰的源



①


32


中使用



ftp:///mirrors//pub/sourceforge/m/ms/ms ys2/REPOS/MIN


GW/i686


②


64


中使用



ftp:///mirrors//pub/sourceforge/m/ms/ms ys2/REPOS/MIN


GW/x86_64




③



中使用


< /p>


ftp:///mirrors//pub/sourceforge/m/ms/msy s2/REPOS/MSYS2/$$a


rch



接下来打开开始菜单里的


MSYS2 Shell


进行


MSYS2


系统更新:



(


1


)更新软件数据库



pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime


有询问就输入



Y


,继续执行。





如果出现下载软件包错误,那就重 复执行刚才的命令,直到成功为止。




(


2


)关闭旧的


MSYS2


命令行,重新打开


MSYS2 Shell


,


更新软件



pacman -Su


有询问就输入



Y


,继续安装





如果出现下载软件包错误,那就重 复执行刚才的命令,直到成功为止。



更新成功之后,关闭


MSYS2


命令行,完成


MSYS2


系统更新。




< /p>


二、安装


MinGW-w64


编译套件< /p>



默认情况下


MSYS2


只安装了基本环境,开发工具集没装,需要手动来安装,下面来安装。



打开开始菜单的



MSYS2 Shell


,执行下面命令:



1


、安装基本开发环境和工具



pacman -S



base- devel



git



mercurial



cvs



wget



p7zip



perl



ruby



python2



说明


pacman -S


是安装软件包的意思,


base-devel


是基本开发工具和库,


git mercurial cvs


三个


是版本控制软件,


可用于下载和发 布项目源代码,



wget


是下载工 具,


p7zip


是解压缩工具,


per l


ruby python2


三个是脚本编程环境。



遇到“输入某个选择”,不打字,直接按


Enter


键,全部 安装。




输入



Y


,进行安装。


如果出现下载软件错误,就重复执行刚才的命令,直到成功为止。



安装成功后,继续下面小节的安装。




2


、安装


MinGW-w64


对于


32


位系统,执行:


pacman -S



mingw-w64-i686-toolchain


对于< /p>


64


位系统,执行:



pacman -S



mingw-w64-x86_64-toolchain


注 :


32


位系统只能编译运行


32


位程序,


64


位系统既可以编译运行


64


位程序,


也可以编译运行

< br>32


位程序。如果希望在


64


位 系统同时编译


32


位和


64

< p>
位系统,可以把上面两个工具链都安装。


一般情况下只需要一个。




遇到“输入某个选择”,直接按

< p>
Enter


键,全部安装:




输入



Y


,进行安装。



如果出现下载错误,就重复执行刚才的命令,直到成功为止。



安装成功后关闭旧的命令行。在开始菜单里打开



MinGW-w64


Win32


Shell


(


64

< br>位系统是


MinGW-w64 Win64 Shell


),输入



gcc -v


就可以查看是否安装好了


MinGW-w64

< br>编译工具集:




< p>
上面安装了


MinGW-w64


工具集和基本的开 发库,还有


perl


、


python< /p>


、


ruby


等脚本编程环境。接


下来我们来安装


Qt


开发环境。




三、安装


Qt

< p>
开发环境



Qt


开发环境 默认情况下都是使用动态链接库的,我们先安装动态库版本


Qt


和集成开发环境


QtCreator


,然后安装静态

< p>
Qt


库。



注意:动态< /p>


Qt


库可以用于遵循


LGPL

< p>
的商业闭源软件,也可以用于


GPL


开源软件,而 静态


Qt


库只能用于


GPL

< p>
开源软件,这个规则要记牢!




1


、安装动态


Qt


库和


QtCreator


打开开始菜单里的


MSYS2 Shell


,



32


位系统执行:



pacman -S



mingw-w64-i686-qt5




mingw-w64-i686-qt-creator


64


位系统执行:



pacman -S



mingw-w64-x86_64-qt5



mingw-w64-x86_64-qt-creator


遇到询问就输入



Y


进行安装。



Qt

开发库下载时是


500MB


左右,比较费时间,需要等待, 如果下载过程中出现错误之类的,


重复执行刚才的命令,直到成功安装为止。

< p>


软件管理工具


pacman

自动使用断点续传,


不会重复下载,


所以可放心地重复执行 命令直到成功


安装。



安装

< p>
Qt


时,有一个软件包




mingw-w64-i686-fontconfig


< /p>


,安装配置得非常慢,要耐心等它安


装好,不要以为


pacman


坏了或什么的,这个包配置就是慢;还有就是

< br>


mingw-w64-i686-qt5


这


个包本身非常大,安装起来也比较慢,需要耐心等待。





安装好了之后,需要在



MinGW-w64 Win32 Shell


(

< p>
64


位系统是


MinGW-w64 Win64 Shell


)启


动


Qt


开发工具,比如:




qtcreator



&



assistant



&



designer



&



linguist



&

< p>
说明:


qtcreator


是集成开发环境的命令 名称,


后面接



空格



和



&


是指后台启动新进程,


而不需


要占用



Shell


命令前台。


QtCreator


启用时需要加载插件需要些时间,启动之后如下图所示:




这里就不示范动态库的


HelloW orld


编译生成了。



就算是最简单 的


Qt


版


Hellworld


,它在


Windows


系统里依赖的动态链接库 也是很多的,可能有


十几个,所以用于发布程序很费劲。下面介绍


Qt


静态库安装和示范。




2


、


Qt


静态库安装



打开开始菜单里的


MSYS2 Shell


,



32


位系统执行:



pacman -S



mingw-w64-i686-qt5-static


64


位系统执行:



pacman -S



mingw-w64-x86_64-qt5-static



遇到询问就输入



Y


进行安装。



静态

Qt


库下载时大小也是


500MB


左右,安装后也是


2.7GB


左右,下载和安装都很费时间。如


果下载过程中出错,就重复执行上面命令直到成功为止。



上面安装的是完整的静态


Qt


库,包括


Debug


调试版和


Release


发行版,不建议使用静态库生成


调试版程序,


因为一个


Helolworld


都有


2 80MB


,


静态库生成的


Releas e


版


Helloworld


只有


11MB


,


并且不依赖额外的


dll


,一个


exe


走遍天下 ,所以适合发布程序。但是对于静态库,必须用


GPL


开源许可 证发布程序。


LGPL


仅适用于动态链接库。

< br>



3


、


QtCreator


生成静态链接


Qt


程序示范



打开


MinGW-w64 Win32 Shell


(


64


位系 统是


MinGW-w64 Win64 Shell


),执行命令:




qtcreator



&


在


QtCreator


点击菜单“文件”


-->


“新建文件或项目”,




新建



Qt Widgets Application


,




项目名称设为


hello

< p>
,其他的不用变,点“下一步”:



医疗纠纷总结-


医疗纠纷总结-


医疗纠纷总结-


医疗纠纷总结-


医疗纠纷总结-


医疗纠纷总结-


医疗纠纷总结-


医疗纠纷总结-