CMake
我的视频讲解
最近在做C++的项目,而vscode我这里因为一些环境的问题,不太能搞,所以用了cmake这个工具来实现项目的编译运行
CMake的原理
这个图片很直观,我觉得很好。来自于大丙老哥的博客。
CMake的build需要我们先做一个CMakeLists.txt文件。我们结合我的实例来讲解。
所有文件在同一目录下
文件结构
这是我的项目情况
大家可以看到,这是一个典型的所有文件都在同一目录下的情况,从最简单的讲起。
CMakeLists.txt编写
下面是我的CmakeLists.txt的内容
- 这里注意几点:
- set的时候并不需要显式的添加头文件,比如这里的threadpool.h,cmake会自动查找源文件当中包含的头文件。但若有第三方库的头文件,则需要用
target_include_directories
命令手动添加 - 若源文件很多,比如还有1.c, 2.c…等着被包含,则可
- set的时候并不需要显式的添加头文件,比如这里的threadpool.h,cmake会自动查找源文件当中包含的头文件。但若有第三方库的头文件,则需要用
构建和运行
在编写完文件后,我们来运行这个文件。(默认cmake已添加进环境变量)
注意每次修改文件后,都需要重新
make
一遍更新
文件分属不同文件夹下
文件结构
这是项目情况:
head文件夹当中存储了头文件
src文件夹是源文件
test文件夹当中是测试文件
我们的目标是运行test.cpp,使之成为一个可执行文件
CMakeLists.txt编写
我们现在项目根目录下创建CMakeLists.txt
文件
然后在src目录下也创建一个CMakeLists.txt
文件
然后就跟可以进行cmake编译啦!