找回密码
 立即注册

QQ登录

只需一步,快速开始

工控课堂 首页 工控文库 上位机编程 查看内容

以QT为例谈环境搭建

2022-10-24 20:13| 发布者: gk-auto| 查看: 1261| 评论: 0|来自: www.cnblogs.com

摘要: 作者:哲思时间:2022.1.5邮箱:1464445232@qq.comGitHub:zhe-si (哲思) (github.com)前言自从实习结束,好久没写博客了。作为2022年的开端,打算先谈一谈几乎让所有开发人员发愁的问题——环境搭建。而契机,是最 ...

作者:哲思

时间:2022.1.5

邮箱:1464445232@qq.com

GitHub:zhe-si (哲思) (github.com)

前言

自从实习结束,好久没写博客了。作为2022年的开端,打算先谈一谈几乎让所有开发人员发愁的问题——环境搭建。而契机,是最近在615所做的一个QT项目中QT的环境搭建。

本文主要有两个目的:

  1. 提供一种简单、有效的QT安装与环境配置解决方案
  2. 从通用软件层面聊一聊对软件环境的理解,并尝试回答:我们配的环境,到底是什么?

注:本文提到的“软件”,不谈软件工程中 程序 + 数据 + 文档 的定义,而指一个完整可运行的程序。

QT安装与环境配置

QT简介

说起qt,很多人下意识的认为这是一个c++的界面开发库,qt确实在界面开发中使用最广泛,但它并不止于此。

简单来说,Qt 是一个跨平台C++应用程序开发框架,并提供给开发者一个便捷的图形界面开发工具与较为高级的面向对象开发方法。

大家安装与配置QT,只需按照以下步骤进行:

  1. 下载QT
  2. 安装QT
  3. 配置任意一个 qt 开发环境
  4. 配置 qt 运行时环境

QT下载

  • 途径一:官网下载,在 Try QT -> Download QT 注册后下载,当前QT官网下载都需要注册,在安装中也需要登录账号。

  • 途径二:百度网盘下载,笔者提供的是 qt 5.12.12 离线安装包(qt-opensource-windows-x86-5.12.12.exe)和 qt 在线安装包(qt-unified-windows-x86-4.2.0-online.exe)

    下载链接,提取码:lznc

    :可通过关闭互联网的方式跳过安装包的登录过程

  • 途径三:清华镜像下载

    镜像中 qt 5.14.2 (该版本在大部分场景已经足够高)及以下版本提供了安装包,以上版本只有源码,若想以安装包安装,可以使用官网的在线下载器下载安装。

QT安装

离线安装包

  1. 双击打开安装包,如图

    qt-ins-0

    左边是安装步骤,在 welcom 步骤需要登录QT官网的账号,此步骤可通过关闭网络后重新打开安装包跳过。

  2. 如果登录了,会增加一个 open source obligations 步骤让你确认开源协议,个人用户可忽略,勾选两个选项。

    qt-ins-1

  3. setup 步骤直接next;在 installation floder 步骤选择安装位置,勾选“Associate common file types with Qt Creator”会自动关联Qt相关的文件格式到Qt Creator(就是默认用Qt creator打开)

  4. Select Components 步骤选择了安装的具体组件,先从内容比较少的 Developer and Designer Tools 看起。

    qt-ins-2

    该部分是 Qt 的额外工具部分,不是 Qt 的库,包括了必选的 Qt Creator,和可选的 Qt Creator debug工具、MinGW 工具链套件、Perl语言构建工具。默认选择如图。

    MinGW 是 Qt 附赠的工具套件,构建工具链需要和 Qt 的版本兼容,若为了避免版本不兼容的麻烦,推荐勾选该构建工具并用它构建Qt项目。

    Qt + 版本号目录下的组件是 Qt 库中的内容,如下图:

    qt-ins-3

    在 Sources 之上的是Qt的各种版本,Qt版本对应构建工具链,需要与构建工具链版本兼容(一般会向下兼容,但尽量保持一致)。各种版本的 Qt 根据使用场景至少选择一套。

    • MSVC是visual studio(以下简称vs)的默认构建工具,版本对应vs的版本。举例:使用64位 vs2017的用户需要选择MSVC 2017 64-bit。

    • MinGW,是 GNU 针对 windows系统的最小头文件与库的集合,通过将 Linux 标准的API接口翻译为 Windows 标准的API接口来实现跨平台项目开发,此处笔者推荐采用 MinGW 开发(更标准,易跨平台)。举例:开发工具链选择MinGW7.3.0-64bit,则此处选择

    • UWP是 windows 提出的通用 windows 开发的项目,期望让不同种类的终端上跑的windows系统提供相同的API。

    • 同时,Qt还为 Android 提供了一套开发工具库。

    Sources是Qt的源代码,推荐勾选;其下是Qt的补充库,提供了web等相关组件,并不必要,但由于不大,可以勾选上。

  5. 之后就一路next就好,如果让同意协议,就点击同意,其他全部默认,安装成功撒花。

在线安装包

在线安装包是一个下载器,可以根据你的选择自动从官方仓库下载对应组件,版本可以自由挑选,但可能下载较慢。

安装的基本步骤与离线一致,在选择安装组件的时候,在线安装包显示了当前所有版本的 qt,以下是选择 qt6.1.2 时笔者推荐的选择,如有特殊需要(如串口相关),可以在Additional Libraries中添加,这里笔者在 Tools 中选择了与 Qt6.2.1 中 QT MinGW版本一致的 MinGW工具链套件,如下图:

qt-ins-4

qt-ins-5

QT开发环境配置

QT Creator配置

无需配置,在安装时自动配好,QT Creator会自动找到所有安装的QT 版本、构建工具链(此处为编译器)、debugger、cmake。当前配置可在 工具 -> 选择 -> Kits 查看与修改。

qt-creator-1

MinGW 构建工具链直接包含了debug工具 gdb.exe,可以直接使用。

若使用 msvc 构建工具链,其中不包含 debug 工具,需要自行补充安装。Windows 10 的调试工具(WinDbg)集成在了 Windows 10 sdk中,若没有安装过该 sdk,可以根据官网教程安装或者安装一个vs;若已经安装过 Windows 10 sdk(安装过vs一般会默认安装一个),可以在 控制面板 -> 程序和功能 找到 Windows Software Development Kit- Windows,右键更改,添加debug工具,如下:

qt-msvc-dbg-1

qt-msvc-dbg-2

qt-msvc-dbg-3

配置其他开发环境的 msvc debug工具,方法同上。

visual studio配置

  1. 在 vs 工具 -> 拓展与更新 -> 联机 搜索与安装 Qt Visual studio Tools,之后重启vs

    qt-vs-1

  2. 在 vs -> Qt VS Tools -> Qt Versions 配置对应版本的QT目录,需要在 path 选择 qt 安装路径下 bin -> qmake.exe,在 vs 中要配置 msvc 版本的 qt。(该界面可能在不同 vs 版本下不同,但都是添加新安装的 qt 版本)

    qt-vs-2

  3. 配置项目的 qt 参数,在项目右键 -> 属性 -> Qt Project Setting

    qt-vs-3

    主要参数有两个,在 Qt Installation 选择刚配置的 qt,在 Qt Modules 添加需要使用的 Qt 模块。

clion配置(CMake)

clion无自己的工程配置,而是采用了 Cmake 进行项目管理。笔者比较喜欢使用该方式,配置比较清晰,项目也比较跨平台。

clion需要配置两个地方,构建工具链与工程的 CmakeLists 文件。

  1. 构建工具链

    clion没有默认的构建工具链,需要自行安装 MinGW、clang或使用 vs 的构建工具,若在环境变量配置了构建工具,可自动找到。也可以自行配置,在 文件 -> 设置 -> 构建、执行、部署 -> 工具链 点击 + 进行添加。

    在最上面的为默认构建工具链,在项目中也可以指定其他的,但要选择与 qt 版本兼容的构建工具链(最好版本对应)。

    qt-clion-1

  2. CmakeLists.txt

    CmakeLists.txt 是 cmake 工程的工程文件,描述了工程的所有配置与构建,具体语法推荐大家在官网教程中学习。

    以下给出一个 cmake 配置 qt 的 CmakeLists 配置,相信大家都一目了然:

    cmake_minimum_required(VERSION 3.15.5)
    project(ProjectName)
    set(CMAKE_CXX_STANDARD 17)
    set(CMAKE_AUTOMOC ON)
    set(CMAKE_AUTORCC ON)
    set(CMAKE_AUTOUIC ON)
    # 本地qt安装路径(指定了库的查找位置,不是运行环境,若不指定,从path读取,若找不到,找不到Qt库)
    set(CMAKE_PREFIX_PATH "D:/env/c++/qt/qt5_12_12/5.12.12/mingw73_64")
    # 从 qt 库中找到对应的组件库(需要根据自己需要设置),但还没将库链接到产物
    find_package(Qt5 COMPONENTS
    Core
    Gui
    Widgets
    SerialPort
    Xml
    REQUIRED) # 表示如果找不到某个组件,cmake加载项目时报错
    # 指定头文件的搜索路径
    include_directories(
    # find_package core组件自动添加qt include目录
    )
    # 指定引用的外部库的搜索路径
    link_directories(
    # find_package 导入组件时,就已经找到组件的位置,无需额外指定
    关注公众号,加入500人微信群,下载100G免费资料!

    最新评论

    热门文章
    关闭

    站长推荐上一条 /1 下一条

    QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

    GMT+8, 2025-12-23 01:25 , Processed in 0.352730 second(s), 23 queries .

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.