前言
- 本文章主要介绍了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,依次输入o和yes
- 如果出现了这个报错 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,依次选择o 和 y
-
执行完没有报错的话是以下打印
-
我们执行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架构)上,进行编译源码进行安装。