CMake如何编译一个.cpp文件

前言

本文分享的是关于如何去最简单地通过 CMake 去编译一个文件。

准备阶段

首先先编写一个 .cpp 文件和 .hh 头文件
[Pasted image 20240107212230.png]
内容如下
[Pasted image 20240107212204.png]
[Pasted image 20240107212454.png]
[Pasted image 20240107212601.png]
和可执行文件 .main
[Pasted image 20240107212534.png]
[Pasted image 20240107212411.png]

编写 CMakelists

在 main 的同级目录下创建一个 CMakelist.txt 的文件
编译如下

1
2
project(cmake_study)#定义一个项目名
add_executable(lesson1_1 main.cpp add.hh add.cpp)#把需要的文件交给cmake进行编译

然后我们就可以看到构建出来的文件
[Pasted image 20240107213517.png]
然后我们 cd 到 build 目录下运行 .\lesson1_1.exe(在 win 下的指令,如果是在 linux 系统下要用 ./lesson1_1.exe)然后我们就得到输出的结果 [Pasted image 20240107215230.png]

这就是已经可以最简单去编译一个 .cpp 文件了

一些优化

然后我们也可以把头文件通过 include_directories(头文件绝对路径) 的形式引入,或者更好的方式是 target_include_directories() 这样我们就可以只 add_executable(lesson2 main.cpp sub.cpp) 而不需要再把头文件一并放进去,如果头文件在其他地方,那么这个优化可以隐藏一长串路径