天天看点

关于cmake、make、make install

如果经常在Linux系统下面与C、C++文件打交道的话,一定经常遇到四/五步走:

mkdir build
cd build
cmake ..
make
// 如果是安装依赖库的时候会用到
make install
           

前两步并不难理解,就是想把对应项目的编译文件放在

build

目录下,这样便于管理。如果要传送源文件,可以直接删除

build

文件夹。

编写程序的主要步骤

  1. Edit: 使用编辑器编写源代码,如

    .c

    .cc

    .cpp

    等文件。
  2. Compile: 使用编译器编译源代码生成目标文件,如

    .o

    .a

    (Linux下静态库),

    .so

    (Linux下共享库)等文件。
  3. Link: 使用连接器链接目标代码生成可执行文件,如

    .exe

    (Window),

    .out

    (Unix)等文件。

cmake

通过编写cmakelist文件,自动生成makefile。

make

make可以用来批处理

.c

.cpp

文件的,它从makefile中读取相应指令,然后编译。

make install

将 make 生成的文件安装到系统的对应目录中,比如从github上下载下来一个依赖库的安装包,解压后经过上面几步,该依赖库的对应头文件和库文件就安装到系统中了。

一般来说,大部分的依赖库安装步骤完成后。库的头文件在

/usr/local/include/dependency_name/

目录下,库文件则存在

/usr/local/lib/

目录下。所以,安装完成后可以去相应目录下查看是否有对应的文件,如果则初步说明安装成功。或者去网上搜一些测试程序跑跑看是否正确调包并执行。

Pipeline

源文件 --> cmakelist --> cmake --> makefile --> make --> 可执行文件

示意图[1]如下:

关于cmake、make、make install

references:

  1. make、cmake、make install、configure
  2. configure/make/make install的作用

继续阅读