Windows下配置CLion+Qt5开发环境

前言

在众多的GUI库中,Qt作为一款跨平台的GUI库无疑是十分强大的,但是Qt Creator的界面实在是太丑啦!所以今天找了个机会配置了CLion + Qt5的开发环境~

jet brains全家桶都挺好看的> v <

预备知识:CMAKE

前置环境

添加Qt运行库

虽然Qt Creator又庞大又笨重又丑(划掉),但是为了开发Qt程序,Qt的运行库是必不可缺的

将Qt安装在自己喜欢的位置,之后:

  • 右键 此电脑 -> 属性
  • 点击 高级系统设置 -> 环境变量
  • 点击 系统变量
  • 选择 Path
  • 点击 【编辑】【新建】,添加如下四个环境变量

image.png

需要注意的是这里的路径是你自己电脑上的Qt安装路径(当然你也可以选择和我安装在同一个位置wwww

修改CLion设置

打开Clion:

  • File -> Settings -> Build, Execution, Deployment -> Toolchains
  • 修改配置如下图所示

image.png

项目配置

CMakeList.txt

在Qt Creator中使用qmake来构建项目,而在CLion中则是默认使用cmake,其配置文件为CMakeList.txt

当我们新建一个空白项目之后,我们还需要将需要用到的Qt的库通过CMakeList.txt添加到项目中

这里以一个简单的空白Qt窗口为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <QApplication>
#include <QWidget>
using namespace std;

int main(int argc, char *argv[])
{
QApplication q(argc, argv);
QWidget w;
w.show();

return q.exec();
}

我们需要将CMakeList.txt修改为如下形式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
cmake_minimum_required(VERSION 3.0)
project(test)


set(CMAKE_CXX_STANDARD 17)


set(CMAKE_INCLUDE_CURRENT_DIR ON)



# 自动调用moc,uic,rcc处理qt的扩展部分
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)



# 手动设置Qt5的cmake模块所在目录
# QT_DIR和QT_VERSION是指定了qt安装目录和版本的环境变量
# 如果你使用了系统的cmake,那么会优先使用系统提供模块,因为cmake会优先搜索CMAKE_SYSTEM_PREFIX_PATH
# 如果你不想让cmake优先搜索系统目录(会导致编译使用系统安装的qt而不是我们配置的),需要提示find_package命令
# set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} $ENV{QT_DIR}/$ENV{QT_VERSION}/gcc_64/lib/cmake)



# 添加Widgets模块,需要注意的是Qt模块名前面都要加上Qt5,模块名首字母大写
# REQUIRED参数表示自动查找其他的所需模块
find_package(Qt5Widgets REQUIRED)



# 不使用系统变量而是使用自定义路径
# set(CMAKE_PREFIX_PATH D:/Qt/Qt5.14.1/5.14.1/mingw73_64)
# find_package(Qt5Widgets REQUIRED NO_DEFAULT_PATH)




# 以下为未来你可能会用到的Qt相关组成部分www
# set(UI_FILES)
# set(RC_FILES)
# set(QRC_FILES)



add_executable(test main.cpp)



# 把对应Qt模块的库链接进程序
target_link_libraries(test Qt5::Widgets)

经过如上配置,我们就可以用CLion来写Qt程序啦~

构建,运行,一气呵成,撒花花~🌸🌸🌸

image.png

`

Posted on

2020-11-15

Updated on

2023-02-05

Licensed under

Comments

:D 一言句子获取中...

Loading...Wait a Minute!