如果经常在Linux系统下面与C、C++文件打交道的话,一定经常遇到四/五步走:
mkdir build
cd build
cmake ..
make
// 如果是安装依赖库的时候会用到
make install
前两步并不难理解,就是想把对应项目的编译文件放在
build
目录下,这样便于管理。如果要传送源文件,可以直接删除
build
文件夹。
编写程序的主要步骤
- Edit: 使用编辑器编写源代码,如
,.c
,.cc
等文件。.cpp
- Compile: 使用编译器编译源代码生成目标文件,如
,.o
(Linux下静态库),.a
(Linux下共享库)等文件。.so
- Link: 使用连接器链接目标代码生成可执行文件,如
(Window),.exe
(Unix)等文件。.out
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]如下:
references:
- make、cmake、make install、configure
- configure/make/make install的作用