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

2023-09-17 18:06:53

前言

  • 本文章主要介绍了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是没有提供安装包的,我们只能通过编译源码方式去安装。

下载地址

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-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架构)上,进行编译源码进行安装。
更多推荐

Linux 多线程 | 线程安全、死锁、线程同步

在前面的文章中我们讲述了锁的理解、原理、用户级线程库的内容,以及对Linux中的锁和线程进行了封装,本文中将继续对多线程的内容进行讲解。可重入与线程安全概念线程安全:多个线程并发同一段代码时,不会出现不同的结果。常见对全局变量或者静态变量进行操作,并且没有锁保护的情况下,会出现该问题。重入:同一个函数被不同的执行流调用

大模型对外提供应用的三种服务方式及示例

最近在研究Llama大模型的本地化部署和应用测试过程中,为了给大家提供更多的应用方式,研究了如何利用python快速搭建各种应用访问服务,一般来说,我们开发完成的软件模块为了体现价值,都需要对外提供服务,最原始的方式就是将源码或编译好的类库提供给需要使用的客户进行引入使用,但对于大模型的应用来说,这种方式显然不行,一个

MySQL 深分页优化

在实际应用场景中,列表分页查询是很常见的。假设现在存在某张表,已知ID是主键,针对user_name建立了二级索引。针对该表进行分页查询。select*fromtableorderbyidlimitoffset,size;那么同样都是获取10条数据,查询第一页和查询第一百页的速度一样吗?首先先回忆下MySQL查询语句的

Python文件操作和管理指南:打开、读取、写入和管理文件

文章目录文件(File)打开文件使用with...as语句打开文件读取文件内容读取大文件的方式逐行读取和读取全部行写文件操作文件定位seek()tell()关闭文件文件管理获取目录结构获取当前目录切换当前所在目录创建目录删除目录删除文件重命名文件总结python精品专栏推荐python基础知识(0基础入门)python

Tomcat多实例+Nginx动静分离、负载均衡

这里写目录标题Tomcat多实例+动静分离、负载均衡一、Tomcat多实例部署1、安装JDK2、安装启动tomcat二、Nginx+Tomcat负载均衡、动静分离1、Nginx负载均衡实现原理1.1原理1.2Nginx配置反向代理的主要参数2、Nginx动静分离实现原理2.1原理2.2Nginx静态处理优势3、动静分离

计网第五章(运输层)(四)(TCP的流量控制)

一、基本概念流量控制就是指让发送方的发送速率不要太快,使得接收方来得及接收。可以使用滑动窗口机制在TCP连接上实现对发送方的流量控制。注意:之前在讨论可靠传输时,讨论过选择重传协议和回退N帧协议都是基于滑动窗口的机制上进行实现的。二、具体实现接收方通过向发送方发送带有自己接收窗口值的报文段来控制发送方的发送窗口。注意:

详解TCP/IP协议第五篇:详细介绍网络传输中的地址

文章目录一:通信中地址简介1:地址的唯一性(一):唯一性狭义概念(二):唯一性广义概念2:地址的层次性(一):地址分层的意义(二):MAC地址优劣(三):IP地址的便利一:通信中地址简介通信传输中,发送端和接收端可以被视为通信主体。它们都能由一个所谓“地址”的信息加以标识出来。当人们使用电话时,电话号码就相当于“地址”

中手游上半年扭亏为盈,仙剑IP魅力不减?

你也曾有过江湖梦吗?你也曾因“为国为民、为友为邻”的侠者心无处可安而苦恼吗?那么,“仙剑”系列游戏或许可以成为你的灵魂寄托之所。而能让侠者的江湖梦具象化的幕后厂商,便是中手游。两年前,中手游斥巨资买下了仙剑IP的大陆地区权益,两年内,中手游不断推出仙剑系列游戏新作。其中,公司于今年6月上线的《新仙剑奇侠传之挥剑问情》,

TCP特性的滑动窗口,流量控制

目录一、TCP特性滑动窗口二、TCP特性流量控制(作为滑动窗口的补充)一、TCP特性滑动窗口提高传输效率(更准确的说,让TCP在可靠传输的前提下,效率不太拉跨)💛当然你要是想让TCP媲美UDP,也是痴人说梦,只能说减小差距。一次性发一组数据,发数据的过程中,不需要等待ACK,就直接往前发,此时相当于“一份等待时间”等

TCP socket && UDP && TCP协议 && IP协议 && 以太网等

第1题(编程题)题目名称:编写TCP版本的echoserver和echoclient题目内容:编写TCP版本的echoserver和echoclient第2题(编程题)题目名称:编写TCP版本的字典客户端和字典服务器题目内容:编写TCP版本的字典客户端和字典服务器第3题(编程题)题目名称:编写TCP版本的多线程服务器题

02_Bootstrap基础组件02

4排版使用Bootstrap的排版特性,您可以创建标题、段落、列表及其他内联元素,实际上它是把大部分在HTML的基本标签加了样式。所以这部分相对比较简单。4.1标题h1-h6重新定义样式,HTML中的所有标题标签,<h1>到<h6>均可使用。增加了.h1到.h6类,为的是给内联(inline)属性的文本赋予标题的样式。

热文推荐