【C++之Makefile基础实践】MakeFile从入门到精通

【C++之Makefile基础实践】MakeFile从入门到精通,第1张

Cmake组件化构建大型软件项目松耦合方案。

CMake的背景知识

这里简短介绍一下makefile的原理。

生成hello(hello.exe)所需要执行的bash命令:gcc -v -o hello hello.c

该过程可拆解为4个步骤:预处理、编译、汇编、链接。大部分情况下,不需要拆分成这四步来完成文件的生成,一般都是直接生成二进制.o文件,然后链接成可执行文件(或者动态库.so .dll 或者静态库.a .lib)。

具体的Makefile编写规则可以参考:九张图记住Makefile。

传统Linux的构建工具是Makefile,功能极其强大但是却存在一些缺点。

  • 难以书写,维护者需要关注太多的细节
  • 不能跨平台

CMake自身并不能完成构建,它只会生成构建所需的Makefile,最终的构建仍然由Makefile来完成。

CMake的优势

  • 屏蔽了Makefile中的很多细节,使得编写更为简单,如.h和.c的依赖
  • 跨平台:Linux、Windows、Macos、Unix
  • Out-of source build:无需任何特别设置,就能将所有的中间文件存放在一个临时目录,clean简直太轻松了—— 这一点可比Linux Kernel玩得漂亮,是强迫

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/3002208.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存