深入浅出CMake(一):基础篇

本文介绍了CMake的基本概念和用法,包括如何创建CMakeLists.txt文件,构建简单的CMake项目,以及如何处理库和头文件。通过实例展示了CMake在编译C/C++项目中的应用,帮助开发者理解CMake在工程中的作用和优势。

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

什么是 CMake?

CMake 是一个跨平台的编译构建工具,用来自动化生成 Makefile 之类的构建文件的。

一般在 unix 类系统上开发,我们用 gcc 或者 g++ 编译源码。

g++ hello.cpp  world.cpp 

针对很小的工程,处理的源码文件就这么几个,我们完全手写编译脚步就好了。

但是如果工程量变大,情况就变得复杂了,我们就需要用 make 工具,并编写 Makefile 记录好源码与依赖之间的关系。

make 配合 Makefile 使用,威力很大,但是手写代码很烦恼,而 cmake 似乎更现代化,它能够自动生成 Makefile,并且逻辑似乎更清晰。

你可以简单地认为,cmake 的使用比手写 Makefile 更简单。

当然,我并不是说 cmake 比 make 更高级,更好,只是相对于新手而言,它是很友好的,我们都希望把精力花在编写具体的业务代码上,而不是炫技一般编写复杂的 Makefile 文件,我决定学习 CMake 也是看到 OpenCV 改用它编译了,另外 Android 的源码好像也是它,这也让我不得不去学习它。

至于 CMake 和其它编译工具孰好孰坏,这里我不做评价。

一个最简单的 CMake 例子

要构建一个 CMake 编译系统,首先需要在代码根目录创建一个 CMakeLists.txt 文件,这个文件是用来描述构建过程的,可以看做是一个高级版的 Makefile 文件。

假设整个工程只有 hello.cpp 这个文件.

#include <iostream>

using namespace std;


int main(int argc,char** argv)
{
    cout << "Hello for cmake!" << endl;
    ret
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

frank909

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

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

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

打赏作者

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

抵扣说明:

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

余额充值