Cmake入门
引用说明: 参考这篇博客
Cmake入门
什么是Cmake?
跨平台构建工具:用于生成不同平台(如 Linux/Makefile、Windows/Visual Studio、macOS/Xcode)的构建文件。
元构建系统:不直接编译代码,而是生成其他构建工具(如 Make、Ninja)所需的配置文件。
核心优势:通过编写 CMakeLists.txt 文件描述项目结构,避免手动维护不同平台的构建脚本。
安装Cmake
Ubuntu: sudo apt install cmake
工程目录结构
plaintext
1 | tree |
Tips: 将CMakeLists.txt放在build文件夹里更整洁
语言格式
注释
行注释: #
块注释: #[[]]
基础项目
plaintext
1 | cmake_minimum_required(VERSION 3.0) # 指定Cmake版本 |
定义变量
SET(var val1 val2 val3)
- 一个特殊变量CAMKE_CXX_STANDARD是c++标准
SET CMAKE_CXX_STANDARD 17
等同于-std=c++17
Tips: ${var}来使用变量
Thoughts: HOME变量自定义在project根目录(绝对目录)下
文件搜索
file(GLOB dir var)
Tips:
file(GLOB ${HOME}/include/*.h HEAD_FILE)
头文件
include_directories(headpath)
库
制作自己的库文件
add_library(库名称 STATIC 源文件1 [源文件2] ...)
add_library(库名称 SHARED 源文件1 [源文件2] ...)
库目录(让编译器知道引用了什么库文件)
静态库
link_libraries(<static lib> [<static lib>...])
适用于第三方库 --> 输入库名称link_directories(<lib path>)
适用于自带系统库 -->输入库路径
动态库
target_link_libraries(可执行文件 库名称
Tips: 库的名称掐头(lib)去尾(.a,.so…)
总结
cmake
1 | cmake_mininum_required(VERSION 3.0) #最低版本 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 travel!
评论