4、QT Creator + MinGW或MSVC 开发环境搭建

1、windows下QT的安装

  直接点击https://download.qt.io/archive/qt/进入,选择要下载的版本。

  QT安装版本选择

  Qt4:    4.8.7      4.X 系列终结版本。Qt4.8.7是Qt4系列的终结版本,解决了以往的所有BUG。而且是打包需要带的动态库最小的,压缩下基本上在3MB左右。CPU占用也是最小的,Qt4.8.7是最好的。

  Qt5 :   5.6 LTS  长期支持版本

  Qt5:    5.9 LTS  长期支持版本

  Qt5:    5.12 LTS 长期支持版本

  Qt5:    5.15 LTS 长期支持版本

  双击下载得到的 qt-opensource-windows-x86-5.9.0.exe 即可开始安装。Qt 的安装过程和普通的 Windows 软件一样,按照向导进行操作即可。

  关于 Qt 的安装需要说明以下几点。

(1) 注册和登录

  Qt 在安装过程中会提示用户进行注册和登录,不用理会,跳过(Skip)即可,实际开发时不需要登录。

Qt 安装过程中提示用户注册
          图1:Qt 安装过程中提示用户注册

(2)安装路径和关联文件

指定Qt安装路径
            图2:指定 Qt 安装路径

  Qt 允许用户自定义安装路径,但是请注意,安装路径不能带空格、中文字符或者其它任何特殊字符。

  另外,该界面还会询问是否关联特定的文件类型。如果关联(默认是关联的),特定后缀的文件(包括 .cpp 文件)默认使用 Qt 打开。我喜欢使用纯文本编辑器(例如 Sublime Text)来打开 C++ 源文件,所以我取消了该选项,读者根据自己的实际情况定夺。

(3) 选择安装组件

  Qt 安装过程中最关键的一步是组件的选择,请看下图:

Qt组件
                        图3:Qt 组件

  Qt 的安装组件分为两部分:一部分是“Qt 5.9”分类下的,该分类包含的是真正的 Qt 开发库组件;另一部分是“Tools”分类下的,该分类包含的是集成开发环境和编译工具。

Qt 安装组件及其说明
“Qt 5.9”分类下的开发组件
组件说明
MinGW 5.3.0 32 bit 编译器模块。MinGW 是 Minimalist GNU for Windows 的缩写,MinGW 是 Windows 平台上使用的 GNU 工具集导入库的集合。
UWP *** UWP 是 Windows 10 中 Universal Windows Platform 的简称,有不同编译器类型的 UWP,属于 MSVC 编译器生成的 Qt 库。如果不是开发 UWP 应用程序,就不需要,直接忽略。
MSVC *** 针对 Windows 平台上的 MSVC 编译器的 Qt 组件,如 msvc2015 32-bit 和 msvc2015 64-bit 等。安装该组件需要计算机上已经安装相应版本的 Visual Studio。如果你不使用 MSVC 编译器进行开发,就不用安装。
Android *** 这是针对安卓应用开发的 Qt 库,如果读者有安卓开发这方面需求可以自己选择安装,一般情况下用不到。
Sources Qt 的源代码包,除非你想阅读 Qt 的源码,否则不用安装。
Qt *** Qt 的附加模块,大部分建议安装,这些附加模块括号里的 TP 是指 Technology Preview ,技术预览模块的意思,还处在功能测试阶段,不是正式版模块;附加模块括号里的 Deprecated 是指抛弃的旧模块,兼容旧代码使用的,一般用不到。这些附加模块读者可以选择部分或都勾选了安装,占用空间不大。
部分组件说明:
  • Qt Charts 是二维图表模块,用于绘制柱状图、饼图、曲线图等常用二维图表。
  • Qt Data Visualization 是三维数据图表模块,用于数据的三维显示,如散点的三维空间分布、三维曲面等。
  • Qt Scritp(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 程序组。

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 变量)。

  1.1、QT自带的调试编译器环境配置(默认)

  1.2、使用MSVC编译器时的环境配置 

  (1)、QT+MSVC2015安装以及环境配置(不需要安装VS2015)

  出发点是不想完整安装VS2015,只想安装C++编译器,然后提供给Qt Creator使用。

  也就是说Windows下开发应用或库时,如果不想安装完整的Visual Studio,可以选择只安装Visual C++ Build Tools即可。

  1)、在链接 https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/,找到可再发行组件和生成工具:Microsoft Visual C++ 2015 Redistributable 更新 3、Microsoft 生成工具 2015 更新 3

 

 

    下载完后进行安装。需要注意的一点是,在安装VS2015的生成工具的时候不要选择默认安装,选择自定义安装并且选择对应自己操作系统的SDK版本(默认的是win8.1的)。

    visualcppbuildtools_full.exe默认是在线安装,我们也可以设置成离线安装:visualcppbuildtools_full.exe /layout d:\vs2015。

    安装完后在QT装备编译器中可以看到如下图所示:

  2)、安装用于程序调试的WinDbg调试器,微软官方把WinDbg调试器隐含到Windows SDK中了,所以要安装Windows SDK。Windows SDK是微软每推出一个重要的windows版本,一般都会同时推出一个SDK(Software Development Kit)。

  下载链接: https://developer.microsoft.com/en-us/windows/downloads/sdk-archive,根据自己安装的系统选择

 

   注意只需要装Debuggers调试环境Debugging Tools for Windows。也可以选择全部完整地安装Windows SDK 。

  VS调试时,只使用自己带的调试器,不会使用WinDbg。WinDbg安装目录包含有CDB。CDB可以提供给Qt Creator调用。

  如果系统安装了Windows SDK,但是在调试时显示Unable to create a debugging engine.表示安装Windows SDK时没有选择安装Debuggers调试环境Debugging Tools for Windows,这时在控制面板的应用与程序里面找到windows software development kit,右键选择更改,将Debuggers调试环境Debugging Tools for Windows安装上即可。

 

  3)、安装完成后系统会自动检测到QT versions,Compilers,Debuggers等,然后在Qt Creator配置选项Kits装备选项中配置构建套件kit。

  4)、源码编码格式

  注意: Qt Creator -> Options -> Text Editor -> Behavior -> File Encodings 更改设置为 "UTF-8",BOM设置为"Add If Encoding Is UTF-8",这样才能正确识别中文。总之VC++编译器只能识别ANSI和UTF-8+BOM这两种编码。不识别UTF-8。
  (2)、QT+VS2015安装以及环境配置(安装了VS2015)

   安装了VS2015后编译器就不用在安装了,因为安装VS2015时编译器会自动安装,这时就只需要安装Windows SDK即可,安装完后在QT中配置就可以了。

2、Linux下QT的安装

  Linux 发行版虽然众多,但 Qt 安装过程大同小异,本节以 CentOS 7 为例来演示 Qt 的安装。

  在《Qt下载》一节中我们已经讲解了 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 权限的。

  下面示范简单的普通用户安装方式,需要用户主目录 /home 所在磁盘分区至少剩余 2GB 空间。所示范的是 64 位安装包,使用的发行版是 CentOS 7(64 位)。

  运行 qt-opensource-linux-x64-5.9.0.run 文件,根据向导一步步安装就可以了。关于 Qt 的安装需要说明以下几点。

  (1)注册和登录

  Qt 在安装过程中会提示用户进行注册和登录,不用理会,跳过(Skip)即可,实际开发时不需要登录。

Qt 安装过程中提示用户注册
          图1:Qt 安装过程中提示用户注册

  (2)安装路径

  Qt 在安装过程中允许自定义安装路径,我将 Qt 安装在主目录下的 programs/Qt5.9.0 文件夹中,一般使用默认路径即可。

指定 Qt 安装路径
          图2:指定 Qt 安装路径

  (3)选择安装组件

  Qt 安装过程中最关键的一步是组件的选择,请看下图:

Qt 组件
              图3:Qt 组件

  Qt 的安装组件分为两部分:一部分是“Qt 5.9”分类下的,该分类包含的是 Qt 开发库,也就是动态链接库或者静态链接库;另一部分是“Tools”分类下的,该分类包含的是集成开发环境(可执行程序),也就是 Qt Creator(在 Windows 下还会有其它工具)

 
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 是指抛弃的旧模块,兼容旧代码使用的,一般用不到。这些附加模块读者可以选择部分或都勾选了安装,占用空间不大。

部分组件说明:
  • Qt Charts 是二维图表模块,用于绘制柱状图、饼图、曲线图等常用二维图表。
  • Qt Data Visualization 是三维数据图表模块,用于数据的三维显示,如散点的三维空间分布、三维曲面等。
  • Qt Scritp(Deprecated)是脚本模块,已被抛弃,不建议安装。
“Tools”分类下的集成开发环境
集成开发环境说明
Qt Creator 4.3.0 这是集成开发环境,强制安装的,以后所有的项目和代码都在 Qt Creator 里面新建和编辑。

  选择完了组件,根据向导一步一步操作就可以了。安装完成后,在左上角“应用程序 --> 编程”菜单中可以看到 Qt Creator,证明安装成功了。点击 Qt Creator,就可以开始 Qt 编程了。

Qt 安装完成
            图4:Qt 安装完成

 对于很多 Linux 发行版本,Qt 安装完成后如果直接编译或者运行项目,会出现“cannot find -lGL”错误,如下图所示:

cannot find -lGL

  (4)Linux Qt cannot find -lGL错误完美解决方案(亲测有效)

  这是因为 Qt 找不到 OpenGL 的动态链接库(libGL.so)。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”错误了。

3、Qt 安装目录结构

  了解 Qt 安装目录的结构虽然不是编程必须的,但是它能练就我们的内功,让我们对 Qt 的编程环境了如指掌。Windows 和 Linux 下 Qt 安装目录的结构非常相似,我们以 Windows 为例进行讲解,Linux 不再赘述。

  (1)Qt 整体目录结构

  不同版本 Qt 的安装目录结构大同小异,本节我们以 Qt 5.9.0 为例来说明,如下图所示。

Qt 安装目录的结构
                          图1:Qt 安装目录的结构

  为了方便描述,下文我们使用~表示 Qt 的安装目录。

  注意,~\5.9\ 和 ~\Tools\ 目录下都有 mingw53_32 目录(图中我用红色标出来了),但是两者是有区别的:

  • ~\5.9\mingw53_32\ 目录包含的是 Qt 的类库文件,例如头文件、静态库、动态库等,这些类库文件使用 MinGW 工具集编译而成。
  • ~\Tools\mingw53_32\ 目录包含的是 MinGW 工具集,例如编译器 g++、链接器 ld、make 工具、打包工具 ar 等。

  QtCreator 是个例外,QtCreator 使用 MSVC2015 编译生成的,所以安装目录里有一个 vcredist 文件夹存储 VC 运行库安装文件。

  最后的 MaintenanceTool.exe ,对于离线安装包,它只能用于删除软件包,如果 Qt 开发环境是用在线安装方式装的,这个工具还可以管理开发环境组件和升级组件。

  Qt 类库的帮助文件位于 Docs 文件夹里,需要用 Qt Assistant 工具才能查看。

  Examples 里是示例代码,可以用 QtCreator 集成开发环境打开各个示例。

  (2)Qt 类库目录

  下面我们再探究一下 Qt 类库目录(~\5.9\mingw53_32\)的结构,如下图所示。

Qt 类库目录
                            图2:Qt 类库目录
posted @ 2021-05-12 21:00  孤情剑客  阅读(2045)  评论(0编辑  收藏  举报