CMakeLists 理解
最近发现其实之前对CMakeLists 理解不是很全面, 零零散散在网上看到的一些教程,其实都是为了解决某个命令的问题,要不然就是对一些命令的翻译理解,实际上是很劝退的.
因此写一些自己对CMakeLists的具体理解,若有不当的地方欢迎指正.
1.基础理解
CmakeLists 本质上是一种生成Cmake file 文件的工具, 方便之后GNU编译使用.
那么这里理解成,CMakeLists 里面的最主要指令,可以简单理解为
链接文件 和 生成文件
由此生成一些可执行文件,这些文件是与另外一些文件链接起来的
2.add_executable()
这就是生成文件的入口,理论上,如果我们要生成一个可执行文件来自main.cpp 可以直接写成
add_executable(main.o, main.cpp)
这里默认了一件事情, 即我们main.cpp 可以单独被执行,没有其他的依赖项.若有依赖项文件,可以添加到后面, 例如
add_executable(main.o main.cpp depend.cpp)
这里就出现了一个问题, 我们在main.cpp 中调用的文件一般都是头文件, 例如 #include<depend.h>, 如果该文件与main.cpp 在同一文件夹内还好,否则是找不到该文件的, 那编译