写在最前面:所有的博文都是为了若干年月以后当我再次翻看可以快速回想起之前的零星知识。学海无涯,在看这篇文章的未来的你,加油吧!
因为之前看到有些软件中使用了CMake,不太理解为什么不直接用makefile。本文解释一下CMake和CMakeLists是做什么用处的。
由之前的文章《GCC编译与Makefile基本语法》可以知道,当项目中源文件数量过于庞大时,直接使用gcc编译是不现实的,因此引入了make和makefile。make根据makefile中的编译规则来进行编译,这样极大地提升了编译的效率。
CMake是一个可以跨平台的编译工具,可以用简单的语句来描述所有平台的编译过程。他能够输出各种各样的 makefile 或者工程文件。和make与makefile类似,我们在使用CMake时同样也需要一个文件来提供规则,这个文件就是CMakeLists。(说的不严谨一点,CMake是一个大套娃,make是这个大套娃里面的小套娃)
使用CMake编写跨平台工程的流程如下:
(1)编写源文件
(2)编写CMakeLists.txt
(3)由CMake根据CMakeLists.txt来生成相应的makefile文件
(4)使用make并根据makefile调用gcc来生成相应的可执行文件。
参考文献:
[1]一文详解CMake编译工具与项目构建
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)