cmake和make区别
写程序大体步骤:
(1)用编辑器编写源代码,如.c文件;
(2)用编译器编译代码生成目标文件,如.o;
(3)用链接器连接目标代码生成可执行文件,如.exe;
其中:
– 源文件太多,逐个编译时比较麻烦,于是设计make自动编译工具,可应用于批处理源文件;因此,需要编写makefile规则文件,通过一条make指令即可实现完全编译;
– 在一个大工程项目中,编写makefile是件复杂的事;因此,提出cmake工具并需要编写cmakelist文件,在读入所有源文件之后,能够输出各种各样的makefile或者project文件,
make:为了批处理源文件,于是产生了 make 编译工具 ,但要进行 makefile文件的编写;
cmake:为了方便makefile的编写,于是产生了 cmake编译工具,但要进行 CMakeLists文件的编写;
在工程中,需要编写 CMakeLists文件进行cmake编译,生成一个makefile文件;接着通过make编译,使用makefile文件生成一个可执行文件
流程如下图所示:
存在问题:
【问题1】在win10中,cmake编译后本地没有生成makefile文件,因此无法进行后续的make操作
【解】原来是输入"make"指令,改成 cmake . -G “Unix Makefiles” 指令;