一、新建CMakeLists.txt
可以在工程目录下新建一个名为CMakeLists.txt文件,
亦或是,在Qtcreator中,右键项目,添加新文件,选择General中的Empty File,修改名称为CMakeLists.txt。
此时,你会看见生成了一个叫other files的文件夹,里面就有CMakeLists.txt文件
二、编写CMakeLists.txt
1.#设置cmake版本号(视自己cmake版本为定)
2.cmake_minimum_required(VERSION 3.4.0)
3.
4.#设置工程名称
5.project(QtDemo)
6.
7.#设置工程包含当前目录,非必须
8.set(CMAKE_INCLUDE_CURRENT_DIR ON)
9.
10.#打开全局moc,设置自动生成moc文件,一定要设置
11.set(CMAKE_AUTOMOC ON)
12.#打开全局uic,非必须
13.set(CMAKE_AUTOUIC ON)
14.#打开全局rcc,非必须,如需打开,注意修改33行的qrc文件名
15.#set(CMAKE_AUTORCC ON)
16.
17.#查找需要的Qt库文件,最好每一个库都要写,Qt也会根据依赖关系自动添加
18.find_package(Qt5Widgets)
19.find_package(Qt5Core)
20.find_package(Qt5Gui)
21.
22.#查找当前文件夹中的所有源代码文件,也可以通过Set命令将所有文件设置为一个变量
23.FILE(GLOB SRC_FILES "./*.cpp")
24.#查找设置当前文件夹中所有的头文件
25.FILE(GLOB HEAD_FILES "./*.h")
26.#查找设置当前文件夹中所有的ui文件
27.FILE(GLOB UI_FILES "./*.ui")
28.
29.#通过Ui文件生成对应的头文件,一定要添加
30.qt5_wrap_ui(WRAP_FILES ${UI_FILES})
31.
32.#添加资源文件,非必须,一旦采用,注意修改相应的qrc文件名
33.#set(RCC_FILES rcc.qrc)
34.
35.#将ui文件和生成文件整理在一个文件夹中,非必须
36.source_group("Ui" FILES ${UI_FILES} ${WRAP_FILES} )
37.
38.#创建工程文件
39.add_executable(${PROJECT_NAME} ${SRC_FILES} ${HEAD_FILES} ${RCC_FILES} ${WRAP_FILES})
40.
41.#添加Qt5依赖项
42.target_link_libraries(${PROJECT_NAME} Qt5::Widgets Qt5::Core Qt5::Gui)
三、编译与运行
在工程文件下新建一个“build”目录
1、qtcreator编译
左侧找到“项目”后点击,在“构建设置”中找到“构建步骤”
“构建目录”选择我们新建的build文件夹
删除“qmake”,然后点击“添加构建步骤”中的“自定义处理步骤”
命令一栏中,填写 “ cmake”
参数填写 “../”
make 不用删除,不过要保证在cmake下面,参数选择 -j4
(-j4 表示用多少个线程进行编译 你要是线程多,可以 -j16或者-j8)
设置好后,项目处构建加运行,嚯嚯 ,跑起来了!
2、终端编译
在build目录下,开启终端,然后输入命令:“cmake ../ && make ”(注:make后面参数-j4 可加可不加)
然后就会看见build目录下生成这些文件
qt_demo就是生成的可执行程序
然后终端运行 ./qt_demo
就会看见界面了
文章来源:https://www.toymoban.com/news/detail-401514.html
文章来源地址https://www.toymoban.com/news/detail-401514.html
到了这里,关于手把手教CMake编译Qt5工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!