QT4安装时较麻烦,QT库、编译器、IDE(Qt Creator)需要分别单独安装。这里以Qt4.8.7为例。这里注意下,QT版本指的是QT库的版本,编译器和IDE版本可随便指定一个。
QT库下载安装
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环境配置
创建工程
QT5安装就比较简单了,因为QT5将库,编译器和QtCreator都集成在了一起,我们直接下载安装包一键安装就可以了。这里以Qt5.12.0为例。
下载这个即可。下载后直接双击安装。
这里需要填写QT账号,没有的话可以申请一个。
在这个界面选择你要安装的组件,根据自己需求来选择。选择后就下一步,等待安装结束即可。
我刚才选择的那几个组件,安装后大约有11G。如果你的磁盘空间有限,只安装你需要的组件即可。安装完成后会自动运行QTCreator,不需要做任何配置,直接创建工程即可。
创建好工程,直接构建运行。如果窗口出来,说明OK了。
我们换个版本试下,安装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,依次选择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,查看版本
Login
├── build_x64
├── CMakeLists.txt
├── Login.pro
├── main.cpp
├── widget.cpp
├── widget.h
└── widget.ui
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_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})