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.mzph.cn/news/83601.shtml

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

相关文章

Postman应用——Collection、Folder和Request

文章目录 Collection新建CollectionCollection重命名保存Request到Collection在Collection下创建Request删除Collection Folder新建FolderFolder重命名保存Request到Folder在Folder下创建Request在Folder下创建Folder删除Folder Request创建临时RequestRequest重命名删除Reques…

攻防世界-WEB-fileinclude

访问url,可以看到一些提示,绝对路径/var/www/html/index.php,也提示了flag在flag.php中。 快捷键Ctrlu,查看网页源代码 思路: 源代码中看到 include($lan.".php"); ,可知此处存在文件包含。$lan的值是从co…

QGIS怎么修改源代码?持续更新...

修改配置文件保存位置 修改目的:放着和本地安装的其他QGIS共用一份配置文件 修改文件:core/qgsuserprofilemanager.cpp 修改位置:第37行 return basePath QDir::separator() "my_profiles";修改完毕后,再次生成一下…

Spring Authorization Server入门 (十八) Vue项目使用PKCE模式对接认证服务

Vue单页面项目使用授权码模式对接流程说明 以下流程摘抄自官网 在本例中为授权代码流程。 授权码流程的步骤如下: 客户端通过重定向到授权端点来发起 OAuth2 请求。 对于公共客户端,此步骤包括生成code_verifier 并计算code_challenge,然后…

wpf资源Resources探究性学习(一)

测试环境: vistual studio 2017 .net framework 3.5 window 10 新建WPF应用(.net framework),项目名称为:WpfDemo,如下图: 新建完项目后,默认带有一个名为MainWindow.xaml的代码 一 简单使用字符串资源…

1_图神经网络GNN基础知识学习

文章目录 安装PyTorch Geometric安装工具包 在KarateClub数据集上使用图卷积网络 (GCN) 进行节点分类两个画图函数Graph Neural Networks数据集:Zacharys karate club network.PyTorch Geometric数据集介绍 edge_index使用networkx可视化展示 Graph Neural Networks…

(并查集) 1971. 寻找图中是否存在路径 ——【Leetcode每日一题】

❓ 1971. 寻找图中是否存在路径 难度:简单 有一个具有 n 个顶点的 双向 图,其中每个顶点标记从 0 到 n - 1(包含 0 和 n - 1)。图中的边用一个二维整数数组 edges 表示,其中 edges[i] [ui, vi] 表示顶点 ui 和顶点 …

Flash的学习

Flash的学习 1 概述 2 特性 STM32 的内部FLASH 包含主存储器、系统存储器以及选项字节区域。 2.1 主存储器 主存储器分为256 页,每页大小为2KB,共512KB。这个分页的概念,实质就是FLASH 存储器 的扇区,与其它FLASH 一样&…

UWB定位模块

UWB定位模组是华星智控自研的小尺寸高集成度模组,模组长宽厚为30.1513.955.62毫米,天线采用IPEX接口分体式设计,方便集成于您的产品中,产品采用本安设计,可以用于煤矿等井下场景,通信距离>100米&#xf…

什么是API接口?API接口的类型,如何调用API接口?

当今互联网技术的发展越来越快,越来越多的网站和应用程序需要获取外部数据来提供更好的服务和用户体验,这就需要使用API接口。本文将会对API接口的概念、类型以及如何调用API接口进行简要介绍。 一、什么是API接口? API(Applica…

不可忽视的PG表膨胀优化

我是一个目录 案例1. 什么是表膨胀?2. 表膨胀危害是什么?3. 表膨胀是怎么产生的?4. 如何优化膨胀表? 案例 先来看一例公有云服务登录web页面端卡住案例: 故障现象:WEB端登录非常缓慢,需要耗时5…

【AD】【PCB封装规范计划】 -CON排针类

像这种CON,排针的。画PCB封装的时候,要把数字用丝印标出来!!!

如何使用 Node.js和Express搭建服务器?

如何使用NodeJs搭建服务器 1. 准备工作1.1 安装Node.js 2. 安装express2.1 初始化package.json2.2 安装express2.3 Express 应用程序生成器 1. 准备工作 1.1 安装Node.js Node.js 是一个开源、跨平台的 JavaScript 运行时环境。 下载链接:Node.js官网下载 建议下…

Java面试常用函数

1. charAt() 方法用于返回字符串指定索引处的字符。索引范围为从 0 到 length() - 1。 map.getOrDefault(num, 0) :如果map存在num这个key,则返回num对应的value,否则返回0. Arrays.sort(nums); 数组排序 Arrays.asList("a","b",&q…

Xilinx ZYNQ 7000学习笔记五(Xilinx SDK 烧写镜像文件)

概述 前面几篇讲了ZYNQ7000的启动过程,包括BootRom和FSBL的代码逻辑,其中关于FSBL代码对启动模式为JTAG被动启动没有进行分析,本篇将通过将JTAG的功能和通过Xilinx SDK烧写镜像文件到flash来顺道把FSBL中的JTAG代码部分给讲解下。 1.JTAG …

NuttX实时操作系统介绍(最详细)

比起安卓、iOS、鸿蒙等,NuttX知名度不算高,该系统于2007年由Gregory Nutt先生正式开源。发展至今,NuttX以功能丰富、性能稳定、商业化成熟度高赢得了市场的认可。 NuttX是一个成熟的实时操作系统,于07年由Gregory Nutt先生正式开源…

学习笔记-接口测试(postman、jmeter)

目录 一、什么是接口测试 二、前端和后端 三、get请求和post请求的区别 四、cookie和session 五、接口测试的依据 六、HTTP状态码 七、通用接口用例 八、postman接口测试 九、Jmeter接口测试 一、什么是接口测试 通常做的接口测试指的是系统对外的接口,比…

机器学习:PCA(Principal Component Analysis主成分)降维

参考:PCA降维原理 操作步骤与优缺点_TranSad的博客-CSDN博客 PCA降维算法_偶尔努力翻身的咸鱼的博客-CSDN博客 需要提前了解的数学知识: 一、PCA的主要思想 PCA,即主成分分析方法,是一种使用最广泛的数据降维算法。PCA的主要思想…

【element-ui】el-date-picker 之picker-options时间选择区间禁用效果的实现

element-ui 时间选择器的时间区间禁用dom层引入:picker-option <el-date-pickerv-model"searchFormObj.workTime"clearablevalue-formate"yyyy-MM-dd":picker-options"pickerOptions"placeholder"请选择时间" ></el-date-pi…

基于深度强化学习的四旋翼无人机航线跟随

源自&#xff1a;指挥与控制学报 作者&#xff1a;杨志鹏 李波 甘志刚 梁诗阳 “人工智能技术与咨询” 发布 摘 要 针对无人机在空中执行航线跟随任务时无法对未知环境作出合理应对措施等问题, 提出了一种基于深度强化学习的四 旋翼无人机航线跟随方法. 通过无人机受力…