CMakeList demo
欢迎访问我的博客sakuraの绘梨衣
1. 结构
./cmake_demo
├── CMakeLists.txt
├── src
│ ├── main.cpp
│ └── hello
│ ├── hello1.cpp
│ ├── hello1.h
│ ├── hello2.cpp
│ └── hello2.h
2. 实践
环境
- Ubuntu 20.04
- cmake 3.16.3
流程
- 先看一个简单的例子:一个经典hello world程序,使用CMakeLists实现编译运行
- 创建build文件夹是为了在使用cmake工具时让所有过程性文件生成在build文件夹下,让所有过程性文件不扰乱源文件和整体结构
- project函数是指出工程名字
- add_executable函数是生成可执行文件
接下来看一个生成静态库,并且链接该生成的静态库库的例子
add_library与target_link_library可以方便我们快速创建静态库并使用静态库
要在main函数中使用生成的libhello1.a静态库与libhello2.a静态库,需要编写并包含头文件hello1.h与hello2.h
- 编写CMakeLists文件,使用add_library函数将hello1与hello2生成静态库libhello1.a与libhello2.a(linux下静态库默认以lib开头)
- 编写.h文件,方便主函数直接导入
- 最后,直接编译,运行
3. 总结
cmake能够帮助我们快速的构建Makefile,实现静态库快速构建与引用,并拥有优雅的结构。