对于大部分小白来说,不太关心项目的构造过程,拿到项目之后也不太清楚怎么构建。导致在Github上Fork代码之后,或者下载某个linux版的软件,面对着一大堆源码不知道怎么使用。本文简单的介绍一下C++ 常见的CMake编译方法。
Cmake 是一个跨平台的、开源的构建工具。cmake 是 makefile 的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量
Cmake的使用
拿到一个由Cmake构建的工程源代码之后,我们首先要做的是当然是安装CMake
Ubuntu 使用命令进行安装
sudo apt install cmake
之后进入项目的根目录创建一个名为build的文件夹并进入该目录下,执行cmake…
$ mkdir build
$ cd build/
$ cmake ..
最后在build目录内,执行make命令就可以进行编译了
1 创建build目录是为了不让编译产生的中间文件和执行文件污染我们的工程,这是普遍的做法。
2 cmake命令会根据 CMakeLists.txt 文件进行配置生成
3 最后使用make命令进行构建项目
cmake执行过后,项目中就会出现对应的编译产物,它可能是
动态链接库,静态链接库,可执行文件
三种中的一种或多种,除了可执行文件之外,其余两种还需要使用额外的代码才能让他运行起来,但对于项目来说,确实是最终产物了。
CMakeLists.txt 的编写
从上面的过程可以看出,cmake 的重点在配置 CMakeLists.txt 文件。这里直接使用一个开源项目作为例子进行学习
关于CMakeLists.txt的常用指令可以查看
其实我们只要知道添加源文件,添加宏定义等几个常用命令也就足够了。
下面是一个实际的CMake例子 : LevelDB项目