Windows/Linux(命令、安装包和源码安装)平台各个版本QT详细安装教程

前言

  • 本文章主要介绍了Windows/Linux平台下,QT4,QT5,QT6的安装步骤。为什么要把QT版本分开介绍呢,因为这三个版本,安装步骤都不一样。
  • Windows平台,QT4的Qt Creator,QT库和编译器是分开的,需要分别单独下载安装。QT5将Qt Creator,QT库和编译器都集成到了一起,只需要下载安装包一键安装即可。QT6的安装方式又不一样,QT6提供的是在线安装器,下载后需要在线安装,不再提供离线安装包,其实从Qt5.15就已经不再提供离线安装包了。
  • Linux x86平台,QT4没有提供安装包,只能通过命令或者编译源码的方式去安装,QT5提供了安装包,可以直接下载安装,QT6依旧是提供在线安装器进行安装。当然QT5和QT6也可以通过编译源码方式去安装。Linux其他平台,比如ARM或者MIPS架构,QT是没有提供安装包的,我们只能通过编译源码方式去安装。

下载地址

  • QT下载地址
    在这里插入图片描述

Windows平台安装

QT4安装教程

  • QT4安装时较麻烦,QT库、编译器、IDE(Qt Creator)需要分别单独安装。这里以Qt4.8.7为例。这里注意下,QT版本指的是QT库的版本,编译器和IDE版本可随便指定一个。

  • QT库下载安装

    • 链接
    • 上面三个exe就是windows平台的QT库,包含库和头文件。有三个不同编译器版本,这个就看你的需求,如果需要使用visual studio 2008或者2010来编译,就下载上面两个,这里我使用mingw编译器,所以下载第三个进行安装。
      在这里插入图片描述
  • mingw编译器下载

    • 链接
    • 选择一个进行下载
      在这里插入图片描述
    • 这里编译器最好就下载我指定的这个,其他版本编译器可能会有报错。这个版本编译器也是找了好久,试过好几个都有报错。
  • Qt Creator下载安装

    • 链接
      在这里插入图片描述
  • 这是下载完的三个包
    在这里插入图片描述

  • 先安装编译器,直接把这个包解压就可以 x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z,我解压到了 C:\mingw32目录下

  • 然后安装Qt库,直接双击 qt-opensource-windows-x86-mingw482-4.8.7.exe 进行安装。在这一步,会让你选择编译器位置,就选到刚才我们安装的编译器目录。然后就下一步直至安装完成。
    在这里插入图片描述

  • 最后安装下Qt Creator,双击 qt-creator-opensource-windows-x86-4.4.0.exe 进行安装。安装完成后会自动运行,弹出这个界面说明安装成功了。
    在这里插入图片描述

  • Qt Creator环境配置

    • 安装完成后,还不能编译运行QT程序,需要在Qt Creator中配置下编译器
    • 点击工具->选项
      在这里插入图片描述
    • 选择构建和运行,先选择Debuggers,按图示选择调试器即可。
      在这里插入图片描述
    • 然后选择编译器,点击C++,添加C++编译器。我电脑上安装了visual studio 2015和Qt5,所以这里可以看到其他编译器。Qt4需要用我们刚才下载的那个编译器,如果你安装了visual studio 2010,这里就可以选择MSVC编译器进行编译,Qt对应的库也要下载vs2010后缀那个,这里我们就选择我们刚下载的MinGW4.8.2编译器。 在这里插入图片描述
      在这里插入图片描述
    • 接下来选择Qt Version,选择qmake路径,要选择刚刚安装的Qt4的路径。
      在这里插入图片描述
    • 最后选择构建套件,点击桌面,分别选择C++编译器,调试器和Qt版本,这些是我们刚才配置好的。最后点击Apply,如果图标没有报错或者警告,说明就配置成功了。
      在这里插入图片描述
    • 到这里就配置完成了。
  • 创建工程

    • 配置完成后,创建一个工程,这个页面要选择我们刚才配置好的构建套件。
      在这里插入图片描述
    • 构建运行,窗口出来了,终于搞定。Qt4的环境是真难搞。
      在这里插入图片描述

QT5安装教程

  • QT5安装就比较简单了,因为QT5将库,编译器和QtCreator都集成在了一起,我们直接下载安装包一键安装就可以了。这里以Qt5.12.0为例。

  • 链接

  • 下载这个即可。下载后直接双击安装。
    在这里插入图片描述

  • 这里需要填写QT账号,没有的话可以申请一个。
    在这里插入图片描述

  • 在这个界面选择你要安装的组件,根据自己需求来选择。选择后就下一步,等待安装结束即可。
    在这里插入图片描述

    在这里插入图片描述

  • 我刚才选择的那几个组件,安装后大约有11G。如果你的磁盘空间有限,只安装你需要的组件即可。安装完成后会自动运行QTCreator,不需要做任何配置,直接创建工程即可。
    在这里插入图片描述

  • 创建好工程,直接构建运行。如果窗口出来,说明OK了。
    在这里插入图片描述

QT6安装教程

  • 链接
  • 选择一个进行下载,注意这里的4.5.2指的是下载器的版本,并不是QT版本在这里插入图片描述
  • 下载后,直接双击运行,第一步还是输入账号
    在这里插入图片描述
    在这里插入图片描述
  • 这里选择安装目录,选择自定义安装
    在这里插入图片描述
  • 这里到了选择Qt组件的界面,先看这里。可以勾选这个Latest supported releases,最新支持的版本,然后点击筛选。
    在这里插入图片描述
  • 选择一个版本,我这里选的是Qt 6.5.2
    在这里插入图片描述
  • 点开选择你要安装的组件
    在这里插入图片描述
  • 这里选择Qt Creator和其他编译器,需要需要OpenSSL,也可以勾选上
    在这里插入图片描述
  • 一直下一步,等待安装即可
    在这里插入图片描述
  • 安装完成
    在这里插入图片描述
  • 会自动运行Qt Creator
    在这里插入图片描述
  • 我们创建一个工程,选择qmake
    在这里插入图片描述
  • 选择一个编译器
    在这里插入图片描述
  • 然后构建运行,OK了
    在这里插入图片描述

Linux(X86)平台安装

  • Linux平台编译源码时要注意gcc和g++的版本,编译Qt4最好使用5.4.0的版本,编译Qt5和Qt6最好使用5.4.0以上的版本。Qt4我是在Ubuntu16上编译的,Qt5和Qt6我是在Ubuntu20上编译的。

QT4安装

命令安装

  • 直接执行命令 apt-get install qt4*
  • 安装完成后,执行 qmake -v查看,这个命令默认安装的Qt4.8.7版本。
    在这里插入图片描述
  • 也可以使用源码安装,源码安装参考Linux(ARM/MIPS)平台安装步骤,但源码安装比较麻烦, 如果没有特殊需求,直接使用这个命令安装即可。

源码安装

  • 还是以QT4.8.7版本为例
  • 链接
  • 下载这个包
    在这里插入图片描述
  • 下载后解压,进入 qt-everywhere-opensource-src-4.8.7 目录,执行 ./configure,依次输入oyes
    在这里插入图片描述
  • 如果出现了这个报错 Basic XLib functionality test failed! 安装依赖包 apt-get install libx11-dev libxext-dev libxtst-dev。
    在这里插入图片描述
  • 执行最后出现这个,说明成功了。
    在这里插入图片描述
  • 接下来执行 make -j4,这个过程比较久,要等一会。
  • 我使用的GCC和G++版本是5.4.0,如果使用的版本过高,编译过程中,可能会出现这个报错 ‘std::tr1’ has not been declared,打开 mkspecs/common/gcc-base.conf这个文件,在 QMAKE_CXXFLAGS += $$QMAKE_CFLAG后面加 -std=gnu++98
    在这里插入图片描述
  • 最后如果没有报错,说明编译成功了
    在这里插入图片描述
  • 接下来执行make install 进行安装,默认安装到了这个下面 /usr/local/Trolltech/Qt-4.8.7,我们进入/usr/local/Trolltech/Qt-4.8.7/bin目录下,执行 ./qmake -v,就可以看到Qt版本信息。
    在这里插入图片描述

QT5安装

命令安装

  • apt-get install build-essential
  • apt-get install qt5*
  • 执行完就安装成功了,执行qmake -v 查看qt版本,这个命令默认安装的是5.12.8版本
    在这里插入图片描述

安装包安装

  • 链接
  • 以5.12.0版本为例
  • 这个是linux系统x86架构下的安装包,下载下来
    在这里插入图片描述
  • 下载后,添加执行权限,直接在命令行运行即可,./qt-opensource-linux-x64-5.12.0.run。运行后会弹出安装界面
    在这里插入图片描述
  • 这个界面填写账号进行登录,没有的话申请一个
    在这里插入图片描述
  • 选择安装目录,可以安装到/opt下
    在这里插入图片描述
  • 这里选择要安装的组件
    在这里插入图片描述
  • 然后一直下一步,等待安装结束即可。安装成功后,会自动运行 Qt Creator
    在这里插入图片描述
  • 创建一个工程,进行构建。报错了,不要慌,找不到libGL库
    在这里插入图片描述
  • 搜索下libGL库在哪里,我的在/usr/lib/x86_64-linux-gnu下,是这个库 libGL.so.1.7.0
  • 进到 /usr/lib 目录下,创建一个软连接 ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1.7.0 libGL.so
    在这里插入图片描述
  • 再编译运行就OK了
    在这里插入图片描述
  • 进到/opt/Qt5.12.0/5.12.0/gcc_64/bin下执行 ./qmake -v,查看qt版本。
    在这里插入图片描述

源码安装

  • 链接

  • 我们换个版本试下,安装5.14.2,进到single目录下,下载这个包。这个是总的源码包,编译比较耗时,也比较大。如果磁盘空间有限,建议只下载需要的组件进行安装就行了。
    在这里插入图片描述

  • submodules目录下,是QT各个组件的源码。qtbase是基础组件,这个必须安装,其他的组件根据你的需求下载编译安装就行了。
    在这里插入图片描述

  • 这里就以总的源码包为例进行编译安装。

  • 编译前检查下你的GCC和G++版本,最好高于5.4.0,我使用的是ubuntu20,GCC和G++版本为9.4.0

  • 编译QT5需要依赖OpenGL,因此先执行以下命令安装

    •   sudo apt install build-essentialsudo apt install libgl1-mesa-devsudo apt install libglu1-mesa-devsudo apt install libegl1-mesa-devsudo apt install freeglut3-dev
      
  • 下载解压后进到 qt-everywhere-src-5.14.2 目录,执行./configure,依次选择oy
    在这里插入图片描述

  • 执行完没有报错的话是以下打印
    在这里插入图片描述

  • 我们执行make -j4进行编译,这个过程比较耗时,耐心等待一会。

  • 编译完如果没有报错,进行安装,需要执行apt install python先安装下python,然后执行make install进行安装。这个过程也比较耗时,耐心等待。

  • 安装结束后,默认安装到了 /usr/local/Qt-5.14.2,进到/usr/local/Qt-5.14.2/bin下,执行./qmake -v,查看版本
    在这里插入图片描述

QT6安装

安装包安装

  • 链接
  • 下载一个4.5.2版本的安装器
    在这里插入图片描述
  • 添加可执行权限后,运行安装器
    在这里插入图片描述
  • 报错了,执行下 apt install libxcb-xinerama0,再运行安装器就OK了
    在这里插入图片描述
  • 安装步骤和Windows一样,选择QT版本和组件,等待安装完成即可。安装完成后,可以在搜索框打开Qt Creator
    在这里插入图片描述
  • 创建一个工程,进行构建

在这里插入图片描述

  • 有报错,应该还是缺少xcb相关依赖库,也别费事去找了,简单粗暴的执行下这个 apt-get install libxcb*
  • 再构建运行,OK了
    在这里插入图片描述

源码安装

  • 链接
  • 进到submodules目录下,这次安装一个基础组件就行了,如果想全部安装,进入single目录,下载全部源码包编译安装
    在这里插入图片描述
  • 下载解压后进入 qtbase-everywhere-src-6.5.2目录,执行./configure,如果没有报错,执行make -j4进行编译,最后执行make install安装即可。
  • 默认安装到了/usr/local/Qt-6.5.2目录下,进入/usr/local/Qt-6.5.2/bin下,执行 ./qmake -v查看版本。
    在这里插入图片描述

Linux平台QT编程

  • Linux平台下,通过安装包安装后,可以在Qt Creator中进行开发,但如果是通过命令行和编译源码的方式安装,只有Qt库,没有Qt Creator,我们怎么开发呢?当然你可以单独去安装Qt Creator,但这又要进行环境的配置,会比较麻烦。
  • 一般来说,我们很少会直接在Linux系统去进行QT开发,QT具有良好的跨平台特性,我们在Windows进行UI设计和代码开发,只需要将代码移植到Linux平台编译即可。

Qt5编程

  • 我这里提供一份cmake供大家参考。
  • 以下介绍的这种编译方式都是通过命令行安装的Qt,环境变量已经自动配置好了,如果你是源码安装,需要自己去配置下环境变量,否则这个命令 find_package 会找不到Qt,设置PATH到QT安装的bin目录下即可。
  • 目录结构
  •    Login├── build_x64├── CMakeLists.txt├── Login.pro├── main.cpp├── widget.cpp├── widget.h└── widget.ui
    
  • CMake文件内容
  •   cmake_minimum_required(VERSION 3.15.0)project(QtDemo)#开启MOC、RCC和UIC,则会在预处理之前先进行MOC、RCC和UIC操作set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)set(CMAKE_AUTOUIC ON)#查找需要的Qt包find_package(Qt5 REQUIRED Core Gui Widgets)# 将各个文件夹下的所有文件打包SET(SRC_LISTS ${PROJECT_SOURCE_DIR}/main.cpp ${PROJECT_SOURCE_DIR}/widget.cpp)# 包含头文件所在目录include_directories(${PROJECT_SOURCE_DIR})# 生成可执行程序add_executable(QtDemo ${SRC_LISTS})# 链接QT库target_link_libraries(QtDemo Qt5::Core Qt5::Gui Qt5::Widgets)
    
  • 直接执行cmake … 和 make
    在这里插入图片描述
  • 运行,OK
    在这里插入图片描述

Qt4编程

  • Qt4我们需要修改下cmake文件,如下,其他步骤参考QT5
  •  cmake_minimum_required(VERSION 3.5.0)project(QtDemo)#开启MOC、RCC和UIC,则会在预处理之前先进行MOC、RCC和UIC操作set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)set(CMAKE_AUTOUIC ON)#查找需要的Qt包find_package(Qt4 REQUIRED QtCore QtGui)# 将各个文件夹下的所有文件打包SET(SRC_LISTS ${PROJECT_SOURCE_DIR}/main.cpp ${PROJECT_SOURCE_DIR}/widget.cpp)INCLUDE(${QT_USE_FILE})# 包含头文件所在目录include_directories(${PROJECT_SOURCE_DIR})# 生成可执行程序add_executable(QtDemo ${SRC_LISTS})# 链接QT库target_link_libraries(QtDemo ${QT_LIBRARIES})
    
  • 如果编译过程中有以下报错,是因为cmake版本过低,升级下cmake,或者在编译目录下找到ui_widget.h这个文件,拷贝到你的工程目录下即可。
    在这里插入图片描述
  • 编译成功,运行OK
    在这里插入图片描述

总结

  • 本文章介绍了Windows和Linux平台下的QT安装步骤,Linux下分别介绍了三种方式安装,命令,安装包和编译源码安装。
  • 如果你是在Windows平台开发,只在Linux平台进行编译,那么建议直接使用命令行安装,环境会自动配置好,直接使用cmake编译即可。如果想直接在Linux平台开发,那么直接下载安装包,使用Qt Creator开发。
  • 源码安装较为复杂,一般来说是在Linux其他平台(比如ARM,MIPS架构)上,进行编译源码进行安装。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/134935.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio 报错问题记录

工具地址 由于之前手贱不知道点了一个什么东西更新,导致一个code1报错,后来又一通瞎比操作直接吧Android Studio弄得打不开模拟器了,所以我后面就全部卸载重新安装了一下,并把之前遇到的问题做下记录,可能并不适用于每…

笔记1.5:计算机网络体系结构

从功能上描述计算机网络结构 分层结构 每层遵循某个网络协议完成本层功能 基本概念 实体:表示任何可发送或接收信息的硬件或软件进程。 协议是控制两个对等实体进行通信的规则的集合,协议是水平的。 任一层实体需要使用下层服务,遵循本层…

自定义实现简易版ArrayList

文章目录 1.了解什么是顺序表2.实现哪些功能3.初始化ArrayList4.实现功能接口遍历顺序表判断顺序表是否已满添加元素指定下标添加元素自定义下标不合法异常判断顺序表是否为空查找指定元素是否存在查找指定元素返回下标获取指定下标的元素顺序表为空异常修改指定下标元素的值删…

Stable DIffusion 炫酷应用 | AI嵌入艺术字+光影光效

目录 1 生成AI艺术字基本流程 1.1 生成黑白图 1.2 启用ControlNet 参数设置 1.3 选择大模型 写提示词 2 不同效果组合 2.1 更改提示词 2.2 更改ControlNet 2.2.1 更改模型或者预处理器 2.2.2 更改参数 3. 其他应用 3.1 AI光影字 本节需要用到ControlNet,可…

手摸手系列之前端Vue实现PDF预览及打印的终极解决方案

前言 近期我正在开发一个前后端分离项目,使用了Spring Boot 和 Vue2,借助了国内优秀的框架 jeecg,前端UI库则选择了 ant-design-vue。在项目中,需要实现文件上传功能,同时还要能够在线预览和下载图片和PDF文件&#x…

[golang 流媒体在线直播系统] 4.真实RTMP推流摄像头把摄像头拍摄的信息发送到腾讯云流媒体服务器实现直播

用RTMP推流摄像头把摄像头拍摄的信息发送到腾讯云流媒体服务器实现直播,该功能适用范围广,比如:幼儿园直播、农场视频直播, 一.准备工作 要实现上面的功能,需要准备如下设备: 推流摄像机(监控) 流媒体直播服务器(腾讯云流媒体服务器,自己搭建的流媒体服务…

MySQL 面试题——MySQL 基础

目录 1.什么是 MySQL?有什么优点?2.MySQL 中的 DDL 与 DML 是分别指什么?3.✨数据类型 varchar 与 char 有什么区别?4.数据类型 BLOB 与 TEXT 有什么区别?5.DATETIME 和 TIMESTAMP 的异同?6.✨MySQL 中 IN …

Json-Jackson和FastJson

狂神: 测试Jackson 纯Java解决日期格式化 设置ObjectMapper FastJson: 知乎:Jackson使用指南 1、常见配置 方式一:yml配置 spring.jackson.date-format指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具体的…

线程池(重点)

1.线程池的三大方法 package com.kuang.pool;import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; //Executors工具类 三大方法 //使用线程池,创建线程 public class Demo01 {public static void main(String[] args) { // …

Python + Jmeter 实现自动化性能压测

Step01: Python脚本开发 文件路径:D://wl//testproject//Fone-grpc//project1//test_client.py Python 脚本作用: 通过 grpc 调用底层 c 的接口,做数据库的数据插入与查询操作,然后将返回的结果进行拼接与输出。 2.代码里面将…

LeNet-5

目录 一、知识点 二、代码 三、查看卷积层的feature map 1. 查看每层信息 ​2. show_featureMap.py 背景:LeNet-5是一个经典的CNN,由Yann LeCun在1998年提出,旨在解决手写数字识别问题。 一、知识点 1. iter()next() iter():…

阿里云无影云电脑介绍_云办公_使用_价格和优势说明

什么是阿里云无影云电脑?无影云电脑(原云桌面)是一种快速构建、高效管理桌面办公环境,无影云电脑可用于远程办公、多分支机构、安全OA、短期使用、专业制图等使用场景,阿里云百科分享无影云桌面的详细介绍、租用价格、…

【查缺补漏 女娲补天】2023平安

秋招了,只根据自己的情况记录,大概率不会很全。标题是我觉得的重点。既搬砖也搬博客。 Telnet协议 远程登录和管理网路设备的标准协议TCP传输层之上:应用层工作模型:C/S模式(client/server)服务端端口号默…

Python 数独求解器

文章目录 使用回溯算法在Python中解决数独总结 Sudoku(数独)是一种基于逻辑的数字填充谜题游戏,最受喜爱的是那些热爱逻辑和推理的人。解决数独谜题有助于提高集中注意力和逻辑思维能力。 本文介绍了如何使用Python解决数独谜题。 使用回溯算…

车联网远程监控管理提升车辆调度效率,实现高效运营

随着智慧城市建设与物联网技术发展,车辆使用4G工业路由器网络实现车联网,并对车上视频监控、GPS定位以及温湿度传感器等信息进行数据采集和实时传输。这些数据的采集和监测将通过4G网络上传到管理平台,为车辆调度和运行效率的优化提供了有力的…

计算机组成原理——基础入门总结(一)

本帖更新一些关于计算机组成原理的重点内容。由于博主考研时并不会考这门课,但是考虑到操作系统中又很多重要晦涩的概念涉及很多诸如内存、存储器、磁盘、cpu乃至各种寄存器的知识,此处挑选一些核心的内容总结复盘一遍——实现声明:本帖的内容…

【微信小程序】外卖点餐效果展示

概述 外卖点餐效果展示,左右布局,快速点餐,商家信息展示等...程序是模仿人家的,所以界面没做什么调整,功能是没啥问题,可以正常使用... 详细 直接看效果图: 可以把这个点餐这个功能分为5部分…

第13篇:ESP32 idf wifi联网使用SNTP同步网络时间LCD ST7920液晶屏显示

第1篇:Arduino与ESP32开发板的安装方法 第2篇:ESP32 helloword第一个程序示范点亮板载LED 第3篇:vscode搭建esp32 arduino开发环境 第4篇:vscodeplatformio搭建esp32 arduino开发环境 ​​​​​​第5篇:doit_esp32_devkit_v1使用pmw呼吸灯实验 第6篇:ESP32连接无源喇叭播…

看完这篇 教你玩转渗透测试靶机Vulnhub——Grotesque:2

Vulnhub靶机Grotesque:1.0.1渗透测试详解 Vulnhub靶机介绍:Vulnhub靶机下载:Vulnhub靶机安装:①:信息收集:②:暴力破解:③:SSH登入:④:提权&#…

day21算法

常见的七种查找算法: ​ 数据结构是数据存储的方式,算法是数据计算的方式。所以在开发中,算法和数据结构息息相关。今天的讲义中会涉及部分数据结构的专业名词,如果各位铁粉有疑惑,可以先看一下哥们后面录制的数据结构…