Qt下载(多种下载通道+所有版本)
Qt 体积很大,有 1GB~3GB,官方下载通道非常慢,所以建议大家使用国内的镜像网站(较快),或者使用迅雷下载(很快)。
作为 Qt 下载教程,本文会同时讲解以上三种下载方式。
Qt 官方下载(非常慢)
Qt 官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是:http://download.qt.io/
图1:Qt 官方下载网站截图
目录 | 说明 |
---|---|
archive | 各种 Qt 开发工具安装包,新旧都有(可以下载 Qt 开发环境和源代码)。 |
community_releases | 社区定制的 Qt 库,Tizen 版 Qt 以及 Qt 附加源码包。 |
development_releases | 开发版,有新的和旧的不稳定版本,在 Qt 开发过程中的非正式版本。 |
learning | 有学习 Qt 的文档教程和示范视频。 |
ministro | 迷你版,目前是针对 Android 的版本。 |
official_releases | 正式发布版,是与开发版相对的稳定版 Qt 库和开发工具(可以下载Qt开发环境和源代码)。 |
online | Qt 在线安装源。 |
snapshots | 预览版,最新的开发测试中的 Qt 库和开发工具。 |
archive 和 official_releases 两个目录都有最新的 Qt 开发环境安装包,我们以 archive 目录里的内容为例来说明。点击进入 archive 目录,会看到四个子目录:
图2:进入 archive 目录
目录 | 说明 |
---|---|
vsaddin | 这是 Qt 针对 Visual Studio 集成的插件,本教程基本不使用 Visual Studio ,所以不需要插件。 |
qtcreator | 这是 Qt 官方的集成开发工具,但是 qtcreator 本身是个空壳,它没有编译套件和 Qt 开发库。 除了老版本的 Qt 4 需要手动下载 qtcreator、编译套件、Qt 开发库进行搭配之外,一般用不到。对于我们教程压根不需要下载它,因为 Qt 5 有专门的大安装包,里面包含开发需要的东西,并且能自动配置好。 |
qt | 这是 Qt 开发环境的下载目录,我们刚说的 Qt 5 的大安装包就在这里面。 |
online_installers | 在线安装器,国内用户不建议使用,在线安装是龟速,还经常断线。我们教程采用的全部是离线的大安装包。 |
我们再进入 qt 子目录 ,看到如下列表:
图3:进入 qt 子目录
上图没有列完整,这个 qt 目录包含了所有的 Qt 版本,从 1.0 到目前的 5.12 。
由于 Qt 5.9 是一个长期技术支持版本(Long Term Support,LTS),在未来几年里都将有更新支持,因此,本教程以 Qt 5.9 LTS 版本为例进行讲解,并且所有实例程序均使用 Qt 5.9 编译测试通过。
Qt 的上一个 LTS 版本是 5.6,它其实已经超出支持期了。
进入 5.9 目录,会看到各种子版本:
图4:Qt 5.9 的各个子版本
这里解释一下 Qt 的版本号,比如 5.9.8 是完整的 Qt 版本号,第一个数字 5 是大版本号(major),第二个数字 9 是小版本号(minor),第三个数字 8 是补丁号(patch)。 只要前面两个数字相同,Qt 的特性就是一致的,最后的数字是对该版本的补丁更新。也就是说本教程对 5.9.* 系列的 Qt 都是通用的,下载 5.9.* 任意一个版本都可以,这里我们以下载 5.9.0。
点击 5.9.0,进入子目录:
图5:Qt 5.9.0 下载页面
根据不同的操作系统,选择不同的安装包即可,不用管源码包,除非你想自己编译或者阅读源码。
我们以 Windows 安装包(qt-opensource-windows-x86-5.9.0.exe)讲解一下 Qt 安装包命名规则,其中:
- opensource 是指开源版本;
- windows 是指开发环境的操作系统;
- x86 是指 32 位系统;
- 5.9.0 是 Qt 版本号。
Qt 国内镜像站下载(较快)
请读者注意图5中最后一栏的 Details 链接(红色方框圈起来的地方)。点击 Details 链接可以进入详情页,在该页面可以看到文件的大小、校验和以及世界各地镜像下载链接(这才是重点)。
图6:国内镜像下载链接
可以清楚地看到,Qt 在国内的有三个镜像网站可以下载,点击这些地址中的一个就可以下载,从国内镜像网站下载速度快一些。
国内镜像网站
这里给大家推荐几个国内著名的 Qt 镜像网站,主要是各个高校的:
- 中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/
- 清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/
- 北京理工大学:http://mirror.bit.edu.cn/qtproject/
- 中国互联网络信息中心:https://mirrors.cnnic.cn/qt/
国内镜像网站的结构和官方是类似的,我们在第一部分已经分析过了,这里不再赘述。
扩展阅读
对 Qt 版本更新感兴趣的读者请访问 Qt wiki 网站,地址为:https://wiki.qt.io/Main
Qt wiki 网站会显示最新的正式版、LTS 版、正在开发中的版本等等,比主站(https://www.qt.io/)靠谱多了。Qt 主站因为商业推广的原因,安装包的下载步骤非常繁琐。
图解Qt安装(Windows平台)
Qt 占用的存储空间很大,安装之前建议先准备好 8GB 以上的磁盘空间。对于目前 Qt 最新版开发环境,如果不安装源代码包,实际占用大约 5.5GB;如果选择安装源码包,大约占用 7.5GB。
双击下载得到的 qt-opensource-windows-x86-5.9.0.exe 即可开始安装。
1) 注册和登录
Qt 在安装过程中会提示用户进行注册和登录,不用理会,跳过(Skip)即可,实际开发时不需要登录。
图1:Qt 安装过程中提示用户注册
2) 安装路径和关联文件
图2:指定 Qt 安装路径
Qt 允许用户自定义安装路径,但是请注意,安装路径不能带空格、中文字符或者其它任何特殊字符。
另外,该界面还会询问是否关联特定的文件类型。如果关联(默认是关联的),特定后缀的文件(包括 .cpp 文件)默认使用 Qt 打开。我喜欢使用纯文本编辑器(例如 Sublime Text)来打开 C++ 源文件,所以我取消了该选项,读者根据自己的实际情况定夺。
3) 选择安装组件
Qt 安装过程中最关键的一步是组件的选择,请看下图:
图3:Qt 组件
Qt 的安装组件分为两部分:一部分是“Qt 5.9”分类下的,该分类包含的是真正的 Qt 开发库组件;另一部分是“Tools”分类下的,该分类包含的是集成开发环境和编译工具。
“Qt 5.9”分类下的开发组件 | |
---|---|
组件 | 说明 |
MinGW 5.3.0 32 bit | 编译器模块。MinGW 是 Minimalist GNU for Windows 的缩写,MinGW 是 Windows 平台上使用的 GNU 工具集导入库的集合。是本教程使用 MinGW 编译,所以必须安装。 |
UWP *** | UWP 是 Windows 10 中 Universal Windows Platform 的简称,有不同编译器类型的 UWP,属于 MSVC 编译器生成的 Qt 库。如果不是开发 UWP 应用程序,就不需要,直接忽略。 |
MSVC *** | 针对 Windows 平台上的 MSVC 编译器的 Qt 组件,如 msvc2015 32-bit 和 msvc2015 64-bit 等。安装该组件需要计算机上已经安装相应版本的 Visual Studio。如果你不使用 MSVC 编译器进行开发,就不用安装。本教程使用 MinGW 编译组件,所以不用安装 MSVC *** 组件。 |
Android *** | 这是针对安卓应用开发的 Qt 库,如果读者有安卓开发这方面需求可以自己选择安装,一般情况下用不到。 |
Sources | Qt 的源代码包,除非你想阅读 Qt 的源码,否则不用安装。 |
Qt *** | Qt 的附加模块,大部分建议安装,这些附加模块括号里的 TP 是指 Technology Preview ,技术预览模块的意思,还处在功能测试阶段,不是正式版模块;附加模块括号里的 Deprecated 是指抛弃的旧模块,兼容旧代码使用的,一般用不到。这些附加模块读者可以选择部分或都勾选了安装,占用空间不大。 部分组件说明:
|
“Tools”分类下的开发组件 | |
组件 | 说明 |
Qt Creator 4.3.0 | 这是集成开发环境,强制安装的,以后所有的项目和代码都在 Qt Creator 里面新建和编辑。 |
Qt Creator 4.3.0 CDB Debugger surpport | 用于和 CDB 调试工具对接,默认安装,一般用于调试 VC 编译的 Qt 程序。 |
MinGW 5.3.0 | 这是开源的编译器套件,这本教程必须用到的,需要读者勾选安装。 |
Strawberry Perl 5.22.1.3 | 用于编译 Qt 源代码的 Perl 开发环境,不需要安装。如果读者以后用到,也可以另外手动安装,在搜索引擎搜索 Strawberry Perl 关键词,去 Strawberry Perl 官网下载最新的安装包是一样用的。 |
选择完了组件,根据向导一步一步操作就可以了。安装完成后,在 Windows“开始”菜单中会看到 Qt 5.9.0 程序组。
图4:Qt 5.9.0 所包含的程序
程序 | 说明 |
---|---|
Qt Creator 4.6.2 (Enterprise) | Qt 的集成开发环境,本教程就使用它来创建和管理 Qt 项目。 |
Assistant(Qt 助手) | 用来查看帮助文档,已被集成在 Qt Creator 中。 |
Designer(Qt 设计师) | 图形界面可视化编辑工具,已被集成在 Qt Creator 中,在 Qt Creator 中编辑或创建界面文件时,就可以自动打开。 |
Linguist(Qt 语言家) | 多国语言翻译支持工具,可以用来编辑语言资源文件,在开发多语言界面的应用程序时会用到。 |
Qt 5.11.1 for Desktop (MinGW 5.3.0 32bit) | Qt 命令行工具,用来配置 Qt 开发环境(主要是设置 PATH 变量)。 |
图解Qt安装(Linux平台)
Linux 发行版虽然众多,但 Qt 安装过程大同小异,本节以 CentOS 7 为例来演示 Qt 的安装。
Qt 5.9.0 Linux 安装包的名称为 qt-opensource-linux-x64-5.9.0.run。
下载的 run 文件不一定具有可执行权限, 可以执行如下命令开启执行权限:
chmod +x /文件夹路径/qt-opensource-linux-x64-5.9.0.run
将“文件夹路径”替换为自己系统里该 run 文件的路径即可。然后可以直接点击运行该 run 文件,开始安装。
注意以下是以普通用户权限安装的,安装位置是 /home/用户名/Qt5.9.0/,如果希望安装到其他的目录(如 /opt/ 目录),是需要 root 权限的。
1) 注册和登录
Qt 在安装过程中会提示用户进行注册和登录,不用理会,跳过(Skip)即可,实际开发时不需要登录。
图1:Qt 安装过程中提示用户注册
2) 安装路径
Qt 在安装过程中允许自定义安装路径,我将 Qt 安装在主目录下的 programs/Qt5.9.0 文件夹中,一般使用默认路径即可。
图2:指定 Qt 安装路径
3) 选择安装组件
Qt 安装过程中最关键的一步是组件的选择,请看下图:
图3:Qt 组件
“Qt 5.9”分类下的开发库 | |
---|---|
开发库 | 说明 |
Desktop gcc 64-bit | 这是使用桌面版 GCC 64-bit 编译环境生成的 Qt 库,是 Qt 的核心,必须安装。 注意,虽然名字看起来像是 GCC 编译器套件,但实际上说的是 Qt 库的编译环境。大部分 Linux 发行版都会预装 GCC 编译器套件,所以 Qt 安装包没必要附带它们。 |
Android *** | 这是针对安卓应用开发的 Qt 库,如果读者有安卓开发这方面需求可以自己选择安装,一般情况下用不到。 |
Sources | Qt 的源代码包,除非你想阅读 Qt 的源码,否则不用安装。 |
Qt *** | Qt 的附加模块,大部分建议安装,这些附加模块括号里的 TP 是指 Technology Preview ,技术预览模块的意思,还处在功能测试阶段,不是正式版模块;附加模块括号里的 Deprecated 是指抛弃的旧模块,兼容旧代码使用的,一般用不到。这些附加模块读者可以选择部分或都勾选了安装,占用空间不大。 部分组件说明:
|
“Tools”分类下的集成开发环境 | |
集成开发环境 | 说明 |
Qt Creator 4.3.0 | 这是集成开发环境,强制安装的,以后所有的项目和代码都在 Qt Creator 里面新建和编辑。 |
选择完了组件,根据向导一步一步操作就可以了。安装完成后,在左上角“应用程序 --> 编程”菜单中可以看到 Qt Creator,证明安装成功了。点击 Qt Creator,就可以开始 Qt 编程了。
图4:Qt 安装完成
Linux Qt cannot find -lGL错误完美解决方案(亲测有效)
对于很多 Linux 发行版本,Qt 安装完成后如果直接编译或者运行项目,会出现“cannot find -lGL”错误,如下图所示:
这是因为 Qt 找不到 OpenGL 的动态链接库(libGL.so)。在《Linux Qt安装》一节中我们说过,OpenGL 在大部分 Linux 发行版中都是默认安装的,包括 Ubuntu、CentOS 等,找不到该链接库一般都是路径不对。
Qt 默认在 /usr/lib/ 目录下查找动态链接库,但是很多 Linux 发行版将 OpenGL 链接库放在其它目录,例如我使用的是 CentOS 7,OpenGL 链接库位于 /usr/lib64/ 目录,而对于 Ubuntu,OpenGL 链接库位于 /usr/lib/i386-linux-gnu/mesa/ 目录。只要我们把 libGL.so 拷贝到 /usr/lib/ 目录,或者在 /usr/lib/ 目录下为 libGL.so 创建一个链接,就能解决问题。显然第二种办法更好。
另外,Linux 发行版自带的 OpenGL 链接库在后缀中添加了版本号,例如 libGL.so.1、libGL.so.1.2.0、libGL.so.1.3.1 等,但是 Qt 在链接阶段查找的 OpenGL 链接库是不带版本号的。
总起来说,我们需要在 /usr/lib/ 目录下为 OpenGL 链接库创建一个链接,并去掉版本号。
如果你不知道当前 Linux 系统中 libGL.so 的具体路径,可以使用locate libGL
命令或find /usr -name libGL*
命令查找,然后使用ln -s
创建链接。请看下面的演示:
#查找 libGL 所在位置
[root@localhost ~]# locate libGL
/usr/lib64/libGL.so
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.2.0
/usr/share/doc/mesa-libGL-9.2.5
/usr/share/doc/mesa-libGL-9.2.5/COPYING
#创建链接
[root@localhost ~]# ln -s /usr/lib64/libGL.so.1 /usr/lib/libGL.so
Linux 系统中可能存在多个版本的 libGL.so,为任意一个版本创建链接即可。普通用户没有权限创建链接,所以我使用了 root 用户。
完成以上操作,再次启动 Qt,然后编译或者运行,就不会出现“cannot find -lGL”错误了。