Clion + CMake快速配置Qt开发环境终极版
前言
Qt是基于CPP语言的一种非常流行的CPP开发框架,包含了图形、网络、线程等众多领域的模块。其强大的性能以及高效的开发效率使得Qt在GUI领域得到广泛的应用。
Clion是JetBrains公司开发的一款功能强大的继承开发环境(IDE)。
CMake是一款跨平台的C/C++编译程序。准确地说,CMake用来生成Makefile文件,Makefile文件用于描述文件之间的依赖关系以及处理命令,当个别文件改动后仅执行必要的处理,而不必重复整个编译过程,大大提高软件开发效率[1]。如果直接写Makefile的话实在是太麻烦(不同操作系统可能执行的指令不一样),所以就使用CMake来生成Makefile文件。
本文要用到的三个名词介绍好了,笔者就说一下本文目的,本文用于介绍如何利用CMake和Clion IDE配置Qt开发环境,让你能在Clion下完美书写Qt。
ps.笔者使用的操作系统为MacOS 10.14.5,Qt版本为Qt5.13,Clion版本为2019.1。
第一步:在Clion下创建C++ Executable项目
新建项目,选择创建"C++ Executable",输入项目名称即可创建,本文创建项目名称为"qt-for-clion"。
第二步:编辑CMakeLists.txt
项目创建后,会自动生成CMakeList.txt用于配置Cmake,我们修改CMakeLists.txt:
cmake_minimum_required(VERSION 3.13)
project(qt-for-clion)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
if(CMAKE_VERSION VERSION_LESS "3.7.0")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif()
find_package(Qt5 COMPONENTS Widgets REQUIRED)
add_executable(qt-for-clion
mainwindow.ui
mainwindow.cpp
main.cpp
resources.qrc
)
target_link_libraries(qt-for-clion Qt5::Widgets)
上述代码是Qt官方文档中写的使用CMake构建Qt的配置代码[2],具体意思如下:
// 表示该项目至少要求cmake的版本为3.1.0
cmake_minimum_required(VERSION 3.1.0)
// 表示项目名称为“qt-for-clion”
project(qt-for-clion)
//激活自动生成moc文件(通过qmake编译)选项
set(CMAKE_AUTOMOC ON)
//激活自动处理rcc文件(即资源文件,通过qmake编译)选项
set(CMAKE_AUTORCC ON)
//激活自动处理ui文件(通过qmake编译)选项
set(CMAKE_AUTOUIC ON)
// 查找Cmake模块中Qt相关库文件路径
// REQUIRED指示Cmake如果没有找到则终止程序
find_package(Qt5 COMPONENTS Widgets REQUIRED)
// 向项目中添加需要的文件,当然你也可以对ui文件、cpp文件、h文件、qrc文件单独使用SET指令管理,然后添加到add_executable指令中
add_executable(qt-for-clion
mainwindow.ui
mainwindow.cpp
main.cpp
resources.qrc
)
// 将项目中需要添加的Qt Modules中的库文件与项目进行链接(添加的模块即Qt"*.pro"文件中的Qt+=Module)
target_link_libraries(qt-for-clion Qt5::Widgets)
保存,如未报错,说明CMake配置成功。
第三步:书写Qt代码
在main.cpp中书写Qt相关代码,顺便检查是否有代码提示功能,笔者写了一个窗口:
#include
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 让滑动更流顺
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QWidget *widget = new QMainWindow;
widget->resize(400, 300);
widget->show();
return QApplication::exec();
}
执行效果如下:
至此,Clion+CMake+Qt算是整合好了。
第四部:快乐地打开ui文件、qrc文件
虽然整合好了,但是Qt项目中的ui文件、qrc文件打不开怎么办?不能愉快地可视化操作怎么能行?所以我们还是需要用到Qt Creator。
这里笔者就要用到Clion强大的功能了。 依次打开Preferences(偏好设置)》》Tools(工具)》》External Tools,然后点击加号添加工具,编辑内容如下:
- Program属性添加为Qt Creator文件的绝对路径;
- Arguments属性写为$FileName$,即要打开的文件名
- Working directroy属性写为$FileDir$,即为项目所在路径
这样就完成了配置。
测试一下效果,右键点击ui文件或者qrc文件,然后点击External Tools》》QtDesigner,如能将选中的文件通过Qt Creator打开,则为成功。
总结
本文介绍了Qt、Cmake以及Clion,然后讲述了如何将三者整合在一起,以及让Qt项目中的ui文件和qml文件能通过Qt Creator打开。
有一个缺点:没法像Qt Creator一样使用F1键看文档了。
引用
[1] 《CMake是什么?有什么用?》https://blog.csdn.net/Torres_10/article/details/80371425
[2] 《Building with CMake》https://doc.qt.io/qt-5/cmake-manual.html