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

news2024/12/26 21:16:06

前言

  • 本文章主要介绍了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)平台安装

  • 所有Gcc版本对C和C++的支持情况

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-essential
        sudo apt install libgl1-mesa-dev
        sudo apt install libglu1-mesa-dev
        sudo apt install libegl1-mesa-dev
        sudo 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.coloradmin.cn/o/1017912.html

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

相关文章

【奇思妙想】【节省磁盘空间】我有一些文件,我不想移动它们,但又想节省磁盘空间,该怎么做呢?

2023年9月17日,周日晚上 今天晚上整理电脑的磁盘空间时,无意间想到了这个事情 我有一个文件夹 这个文件夹里面有很多不常用的文件 但我不想把它们移走或删除,那我怎么才能从中节省磁盘空间呢? 很简单,把这些不常用的…

Maven常见面试题总结

Maven简介 Maven 是一个项目管理和整合工具。Maven 包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期管理系统(Project Lifecycle Management System),一个依赖管理系统(Dependency Management System)&#x…

JavaScript中的单线程(single-threaded)和异步编程的关系

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 单线程(Single-Threaded)与异步编程的关系⭐ 单线程的含义⭐ 阻塞与非阻塞⭐ 异步编程⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启…

RK3588 点亮imx586摄像头

一.硬件原理图 mipi摄像头硬件确认点: 1.供电:5V,2.8V,1.2V,1.8V,reset脚(硬拉3.3,上电的时候从低到高),pwron脚外接 3.3V。 2,时钟:MCLKOUT是2…

leetcode数组必刷题——二分查找、移除元素、有序数组的平方、长度最小的子数组、螺旋矩阵、螺旋矩阵 II

文章目录 二分查找移除元素有序数组的平方长度最小的子数组螺旋矩阵螺旋矩阵II 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标&#xff0…

Retentive Network: A Successor to Transformer for Large Language Models

论文链接: https://arxiv.org/pdf/2307.08621.pdf 代码链接: https://github.com/microsoft/unilm/tree/master/retnet 引言 transformer的问题就是计算成本太高 RetNet使“不可能三角形”成为可能,同时实现了训练并行性,良好…

VBA技术资料MF57:VBA_自动创建PowerPoint演示文稿

【分享成果,随喜正能量】会因为有情绪而烦闷,也因为没控制情绪而懊悔。莫道幽人一事无,闲中尽有静工夫。情绪就像水,宜疏不宜堵。学会控制情绪,不能把情绪看得过重,也不能一味遏制情绪的产生。倾听所有声音…

Linux 文件创建、查看

touch、cat、more命令 ①touch命令——创建文件 ②cat命令——查看文件内容全部显示 这是txt.txt文件内容 使用cat命令查看 ③more命令——查看文件内容支持翻页 在查看的过程中,通过空格翻页,通过q退出查看

Docker搭建ELK日志采集服务及Kibana可视化图表展示

架构 ES docker network create elkmkdir -p /opt/ELK/es/datachmod 777 /opt/ELK/esdocker run -d --name elasticsearch --net elk -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" -v /opt/ELK/es/plugins:/usr/share/elasticsearch/plugins -v /opt/…

电商API的应用价值:淘宝1688京东API接口系列

API接口是一种软件应用程序,它充当两个不同软件应用程序之间的中介。它帮助不同的应用程序相互通信,共享数据,从而使用户能够完成不同的任务。API接口的用途非常广泛,下面是一些常见的用途: 数据共享:API接…

vue3-vant4-vite-pinia-axios-less学习日记

代码地址 GitHub:vue3-vant4-vite-pinia-axios-less 效果如图 1.首页为导航栏 2.绑定英雄页 3.注册页 4.英雄列表页 5.后面不截图了,没啥了 模块 1.vant4:按需引入组件样式文档 2.安装该vite-plugin-vue-setup-extend插件可以直接在…

基于SpringBoot的电影购票系统

基于SpringBootVue的电影购票系统、影视商城管理系统,前后端分离 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 管理员:个人…

elasticsearch7-DSL查询与精准查询

个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…

用一个RecyclerView实现二级评论

先上个效果图(没有UI,将就看吧),写代码的整个过程花了4个小时左右,相比当初自己开发需求已经快了很多了哈。 给产品估个两天时间,摸一天半的鱼不过分吧(手动斜眼) 需求拆分 这种大家…

Spring Authorization Server入门 (十七) Vue项目使用授权码模式对接认证服务

Vue单页面项目使用授权码模式对接流程说明 以下流程摘抄自官网 在本例中为授权代码流程。 授权码流程的步骤如下: 客户端通过重定向到授权端点来发起 OAuth2 请求。 如果用户未通过身份验证,授权服务器将重定向到登录页面。 身份验证后,用…

Spring Bean循环依赖学习与探究

文章目录 原理学习源码溯源 本文参考: 画图带你彻底弄懂三级缓存和循环依赖的问题 Spring 三级缓存解决bean循环依赖,为何用三级缓存而非二级_笑矣乎的博客-CSDN博客 Spring为何需要三级缓存解决循环依赖,而不是二级缓存?_石杉…

如何用在线模版快速制作活动海报?

在时代的发展和信息传播的快速发展下,活动海报成为了宣传活动的重要方式之一。设计一张吸引眼球的活动海报,不仅能够有效传递信息,还能够吸引人们的注意力。那么,在这里我将教会大家如何设计活动海报,只需要三分钟&…

SAP MM学习笔记31 - 已割当供给元的购买依赖

上次学习了未割当供给元的购买依赖(未分配供应商采购申请),咱们本章来学习一下 已割当供给元的购买依赖如何处理。 SAP MM学习笔记30 - 未割当供给元的购买依赖_东京老树根的博客-CSDN博客 如下图所示,利用 - 购买依赖割当一览&…

Vue记录(下篇)

Vuex getters配置项 *Count.vue <template><div><h1>当前求和为&#xff1a;{{$store.state.sum}}</h1><h3>当前求和的10倍为&#xff1a;{{$store.getters.bigSum}}</h3><select v-model.number"n"><option value&q…

150.逆波兰表达式求值

目录 一、题目 二、分析代码 三、中缀表达式转后缀表达式 一、题目 150. 逆波兰表达式求值 - 力扣&#xff08;LeetCode&#xff09; 二、分析代码 class Solution { public:int evalRPN(vector<string>& tokens) {stack<int>s;for(auto ch:tokens){if(ch!…