1.3 Qt在Windows下安装
本节先示范 Qt 开发环境在 Windows 系统里的安装,然后简要介绍 Qt 开发环境的目录结构和 Qt 命令行脚本内容。
2018.09.12 注:最新版 Qt 5.11.1 安装过程请点击下面链接查看: Qt最新版在Windows下安装
2016.03.22 注:本节介绍的是 MinGW 版本的 Qt 开发环境,如果读者希望使用 Visual Studio 2015 版本的 Qt 开发环境, 请参考《Qt 5.6.0-VS2015 版本安装配置图文教程》和《Qt-VS2015问题梳理和C 2001 常量中有换行符的处理》: http://pan.baidu.com/s/1nuyQHzb https://lug.ustc.edu.cn/sites/qtguide/extradoc/Qt-VS2015.7z
1.3.1 安装 Qt 开发环境
在Windows系统里面安装Qt开发环境,需要按照上一节所述的,下载MinGW版本Qt, 安装文件名为 qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe 。 在Windows XP及以上系统里面都可以安装使用。 如果在Windows 7以上系统安装,需要使用管理员权限。 安装Qt开发环境的磁盘分区空闲空间最好在 4GB 以上, 下面就开始安装示范。
首先运行该安装文件(管理员权限),由于安装包比较大,需要较长时间解压缩组件,所以请耐心等待,不要重复运行exe安装文件。安装程序自动解压完成后会显示如下 安装界面:
点击“下一步”,进入指定“安装文件夹”的界面:
可以使用默认目录或装到其他磁盘分区,注意安装Qt的目标磁盘分区空间要留 4GB , 后面方便安装全部组件,然后点击“下一步”,进入“选择组件”界面:
在“选择组件”界面点击下方的“全选”,安装全部组件。默认情况下Qt安装程序没有选中 “Source Components”(Qt源代码)和第二个“MinGW 4.9.1”(编译生成工具)。 上图第一个“MinGW 4.9.1(32 bit) OpenGL”是指Qt库自己,该Qt库是使用MinGW 4.9.1编译生成的, 并支持使用OpenGL进行渲染绘图。第二个“MinGW 4.9.1”才是真正的g++等编译工具, 所以必须要选中安装第二个“MinGW 4.9.1”。源代码组件比较大,如果磁盘空间不足可以不安装, 但如果为以后学习Qt源代码着想,建议都装上。选择全部组件之后点击“下一步”,进入“许可协议”界面:
选择“I have read and agree to the terms contained in the license agreements.”这一栏,同意许可协议,点击“下一步”,进入“开始菜单快捷方式” 界面:
用默认的开始菜单项即可,点击“下一步”,进入“已做好安装准备”界面:
如果想看看详细的组件信息可以点击“显示详细信息”按钮。 点击下方“安装”,开始正式的安装过程,因为开发环境比较大,安装时间比较长,请耐心等待安装完成。 安装好所有组件后,点击“下一步”,会进入“正在完成Qt 5.4.0向导”:
点击“完成”,上图中“Launch Qt Creator”会自动打开Qt Creator,该程序就是Qt的集成开发环境(Integrated Development Environment,IDE),可以先看看该开发工具,以后会慢慢讲。 到这里,安装就完成了。接下来看看安装后的文件夹里都有些什么。
1.3.2 Qt 开发环境目录结构
在 Windows 系统里安装的 Qt 开发环境大致可以划分为三个部分:Qt 类库、Qt Creator 和编译工具集。
- Qt 类库本身的路径为 C:\Qt\Qt5.4.0\5.4\mingw491_32 ,这里的 mingw491_32 是指采用 MinGW 工具集编译而成的 Qt 库,而不是 MinGW 本身。
- Qt Creator 路径为 C:\Qt\Qt5.4.0\Tools\QtCreator ,这个是 Qt 的集成开发环境(Integrated Development Environment,IDE)。
- 编译工具集路径为 C:\Qt\Qt5.4.0\Tools\mingw491_32,这个才是 MinGW 工具集本身,拥有 g++ 、ld、ar、mingw32-make 等等编译链接生成工具。
另外如果安装了 Qt 源代码,则位于 C:\Qt\Qt5.4.0\5.4\Src 目录里面。我们将 Qt 开发环境安装后目录树绘图如下:
注意在 5.4 文件夹里的是 Qt 类库,而在 Tools 里的才是真的 MinGW 工具集。Qt 类库是使用 MinGW 工具集编译而成的。QtCreator 是个例外,QtCreator 使用 MSVC2010 编译生成的,所以安装目录里有一个 vcredist 文件夹存储 VC 运行库安装文件。最后的 MaintenanceTool.exe ,对于离线安装包,它只能用于删除软件包,如果 Qt 开发环境是用在线安装方式装的,这个工具还可以管理开发环境组件和升级组件。Qt 类库的帮助文件位于 Docs 文件夹里,需要用 Qt Assistant 工具才能查看。Examples 里是示例代码,可以用 QtCreator 集成开发环境打开各个示例。
以 Qt 类库的目录 QTDIR 再细分查看,得到下图 Qt 类库根的目录树:
图上列的比较有限,主要是教大家熟悉一下 Qt 的开发环境,下面小节介绍 Qt 的命令行脚本。
1.3.3 Qt 命令行脚本
在开始菜单里“Qt 5.4.0”就是 Qt 开发工具的菜单目录,如下图所示:
图中“Qt Creator (Community)”就是集成开发环境,而进一步打开 “5.4”-->“MinGW 4.9 (32-bit)”里面是 Qt 类库特有的工具,“Assistant” (Qt助手)是帮助文档查看工具,“Designer” (Qt设计师)是图形界面可视化编辑工具,“Linguist”(Qt语言家)是多国语言翻译支持工具,最后的“Qt 5.4 for Desktop (MinGW 4.9 32bit)” 就是 Qt 开发命令行,配置好了 Qt 开发需要的环境变量,打开它我们就可以从命令行编译 Qt 程序。 这个 Qt 命令行实际就是一句命令: C:\WINDOWS\system32\cmd.exe /A /Q /K C:\Qt\Qt5.4.0\5.4\mingw491_32\bin\qtenv2.bat 这句就是调用了 cmd 命令行工具,选项 /A 使向内部管道或文件命令的输出成为 ANSI , 选项 /Q 是关闭回应, 选项 /K 执行字符串指定的命令后命令行窗口继续存在。 该命令实际执行的脚本就是 C:\Qt\Qt5.4.0\5.4\mingw491_32\bin\qtenv2.bat , 这是 Qt 开发环境的配置脚本。我们打开来看看它的内容: echo off echo Setting up environment for Qt usage... set PATH=C:\Qt\Qt5.4.0\5.4\mingw491_32\bin;C:\Qt\Qt5.4.0\Tools\mingw491_32\bin;%PATH% cd /D C:\Qt\Qt5.4.0\5.4\mingw491_32
脚本里四句是非常简单的,第一句是关闭命令行回显(会看不到 set 和 cd 等命令显示); 第二句是显示提示信息,表示会配置好 Qt 环境; 第三句是真实的配置命令,将 Qt 类库的 bin 目录和 MinGW 的 bin 目录添加到环境变量 PATH 里面,这个配置仅对当前窗口有效,不会修改系统启动里的 PATH。 第四句是进入 Qt 类库的根目录(QTDIR)。 配置 Qt 环境实际上就设置一下 PATH 而已,其他的都不用管,非常省事。如果有其他 MinGW 编译而成的 Qt 库,配置脚本是类似的。
另外,Qt 新手常遇到的一个问题就是双击编译生成的 exe 不能运行,报出如下错误:
这是由于操作系统里PATH环境变量没有添加 Qt 和 MinGW 的运行库路径,遇到这种情况, 我们打开开始菜单里的 “Qt 5.4 for Desktop (MinGW 4.9 32bit)”命令行,然后将 exe 拖入 Qt 命令行后按回车键,在Qt 命令行里面运行exe就行了。
1.3.4 Qt 静态库下载配置
Qt 官方库生成的 exe 会依赖一大堆 dll 动态库,系统里如果有 Qt 开发环境的命令行,那么可以在 Qt 命令行运行 exe,但是如果其他计算机里面没有 Qt 环境,那么需要将 exe 和依赖的 dll 全部拷贝打包才能在其他计算机上运行 exe,Qt 环境里面自带了发布工具 windeployqt ,其使用教程参考文档: https://qtguide.ustclug.org/extradoc/windeployqt.doc.7z
我们下面教大家一种省事的 exe 发布方式——使用 Qt 静态库,QTCN 开发网的 Realfan 大神会跟随 Qt 官方动态库的更新,生成静态库 可以在他的主页找到各个版本静态库下载。 Realfan 大神主页: http://www.qtcn.org/bbs/u/123401 下面的网盘链接也分享了他打包的 Qt 静态库: https://pan.baidu.com/s/1sOFrkti69SCIb-hAZEfOXw 本教程使用的动态库是 5.4.0,到网盘下载 5.4.2-mingw32-rel-static.7z ,5.4.2 是对 5.4.0 的补丁更新。 我们将该压缩包解压到 C:\Qt\ 文件夹里:
然后我们从开始菜单点击运行 QtCreator,开始配置静态库:
点击 QtCreator 的菜单“工具”--> “选项”,打开选项对话框:
在选项对话框的左边列表点击“构建和运行”,然后在右边标签页点击“Qt Versions”,接着点击“添加”按钮:
弹出的对话框是需要我们手动指定 qmake.exe 构建工具的位置,静态库的 qmake.exe 路径为 C:\Qt\5.4.2-mingw32-rel-static\bin
我们进入该文件夹,选中 qmake.exe:
点击打开按钮,然后回到如下界面:
我们可以看到新增了 Qt 5.4.2 版本 Qt 库,路径 C:\Qt\5.4.2-mingw32-rel-static\bin\qmake.exe 。 点击右下角“Apply”按钮,应用配置。然后在上面标签页点击“构建套件(Kit)”,看到如下界面:
在构建套件配置页面,点击右上角的“添加按钮”,看到新的套件页面:
我们修改套件名称为 QtStatic,修改 Qt 版本为 Qt 5.4.2 (5.4.2-mingw32-rel-static),修改后如下图所示:
其他栏目用默认的即可以,编译器是默认的 MinGW 4.9.1 32bit ,调试器的 GNU gdb 7.8。 最后我们点击上面页面的“Apply” 按钮和 “OK” 按钮完成配置。 静态库生成的 exe 大概十几兆,虽然占点空间,但是直接拷贝到其他电脑都可以用,很方便。 注意静态库只有 Release 模式的库文件,只能构建 Release 版本的目标程序,构建静态程序要在 QtCreator 里手动选择 Release 模式:
如果之前有旧的项目代码,QtCreator 左下角没看到 QtStatic 构建套件,那么将旧项目里的 项目名.user 文件删掉,然后用 QtCreator 重新打开该项目,就能看到套件选择配置页面,勾选 QtStatic 构建套件即可。 如果读者希望使用 Qt Quick/Qt QML 编程,发布 Qt Quick/Qt QML 的静态程序,那么必须使用** Qt 5.7.0 **以上的静态库,老版本的 Qt 静态库都有 bug,不能正常生成 Qt Quick/Qt QML 静态程序。Qt 5.7.0 以上的静态库可以在上面网盘链接里找到,配置方法是一样的。
下一节讲解Qt开发环境在Linux系统里面的安装, 如果读者不使用Linux系统,可以跳过,直接进入 1.5 节