【C++】为什么需要CMake?

本文介绍了Cmake的基本概念,为何C++程序员需要学习Cmake,以及Cmake的起源。通过探讨C++编译流程和不同平台的编译工具差异,解释了Cmake作为跨平台编译工具的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cmake是什么?

很多C++小白刚进入公司开始接触业务代码的时候,或者在学校实验室接触一些大型的C++项目的时候,才发现有Cmake这个东西,一开始可能会有很大的疑惑:Cmake是什么?

而当你打开搜索引擎去检索Cmake的时候,搜索引擎告诉你Cmake仅仅是一个跨平台的编译工具,这时候你可能又会产生疑惑:为什么会有Cmake?C++还需要花费这么大精力去编译吗?之前在DEV,Visual Studio里明明一点“编译”,“运行”就能跑起来的程序,为什么现在还要去写Cmake去编译程序?有这么麻烦吗?

尽管当时的你有很多疑惑,但是你看不懂Cmake,你就无法适应你手上的工程,于是手头上面临的处境在逼迫你此时不得不了解Cmake,以满足生产环境的需要。而当你去找一些教程学习Cmake的时候,可能心里又会产生一个疑惑:为什么学习成本这么大?有必要搞这么麻烦吗?

事实上,如果你留心你所找的教程下面的评论或者公司里带你的师傅对你说过的话,你会发现他们好像都提过一句:Cmake不用学,用一用就会了。真相确实是这样,Cmake确实是用一用就会了。不信的话,你先去跟着一些教程去学一学,然后再来看这篇博文。

我们假定你现在已经系统学习了Cmake,那我现在要考一考你,如果说把你的工程里的CMake删除的话,你能重头到尾去写一个CMake吗?对于刚入门的C++程序员,我想你的答案应该是不能。是的,现在的你可能了解CMake中的每一个语法,每一个关键字,但是你还是无法写出一个CMake,原因在于现在的你不懂如何组织你的代码,这其实就是你看教程永远也学不会CMake的原因。而当你对你的工程比较熟悉之后,知道如何组织你的代码,这时候你就明白什么叫CMake不用学,用一用就会了。

但是这个过程是很艰难的。

Cmake是怎么出现的?

等你自己去写一个大型工程的时候,你会用到很多第三方库,你会需要把自己的代码打包成库,供他人使用,这时候,如果你还用学校里学的那一套:打开Visual Studio,新建文件,巴拉巴拉一大堆的时候,等到编译的时候,你就会知道为什么需要CMake。没有CMake肯定也能编译,但是那个复杂程度远超你的想象。

你的任务是把自己的工程跑起来,等你自己想办法仅仅为了绕开CMake去走传统的路子去跑你的程序的时候,你会发现,你在编译上花费的精力是巨大的,程序你已经写好了,却在最后一步编译上付出了很多努力,最后仅仅是为了运行,肯定是得不偿失的。

工具的出现是为了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pyrojewel_js

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值