cmake的安装与基本使用

CMake是一个跨平台的、开源的构建工具。cmake是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量.目前很多开源的项目都可以通过CMake工具来轻松构建工程
cmake的官网:https://cmake.org/
1,安装cmake:

sudo apt-get install cmake

在这里插入图片描述
2,安装gcc和g++

sudo apt-get install gcc
sudo apt-get install g++

两个缺少任何其中一个都会导致生成Makefile失败:如下所示
在这里插入图片描述
3,安装成功查看cmake版本:

cmake --version 

在这里插入图片描述

4,main.c和CMakeLists.txt的编写
注:在同一目录下编写main.c和CMakeLists.txt
main.c:

#include <stdio.h>
int main()
{
	printf("hello world\n");
	return 0;
}

CMakeLists.txt:

PROJECT (HELLO)
SET(SRC_LIST main.c)
MESSAGE(STATUS "THIS isBINARY dir" ${HELLO_BINARY_DIR})
ADD_EXECUTABLE(hello ${SRC_LIST})

5,构建
命令:
1,cmake .
在这里插入图片描述
构建成功之后系统会自动生成如下文件:
在这里插入图片描述
2,make
在这里插入图片描述
这时候会生成可执行程序hello
在这里插入图片描述
3,./hello
在这里插入图片描述
4,make VERBOSE=1:可以查看make构建的详细过程
在这里插入图片描述
6,详细解释
对CMakeLists.txt的详细解释:
用这个指令定义工程名称,并且可以指定工程支持的语言,支持的语言列表是可以忽略的,默认情况表示支持所有语言。

PROJECT(projectname [CXX] [C] [Java])

这个指令隐式的定义了两个cmake的变量:

<projectname>_BINARY_DIR
<projectname>_SOURCE_DIR

这两个变量可以用(这样不用担心写错工程名称)。

PROJECT_BINARY_DIR
PROJECT_SOURCE_DIR

这里先了解SET指令可以用来显示的定义变量即可。这里是

SET(SRC_LIST main.c)

如果有多个源文件,也可以定义为:

SET(SRC_LIST main.c t1.c t2.c)

这个指令是向终端输出用户定义的信息,包含三种类型:

SEND_ERROR#产生错误,生成过程被跳过。
STATUS#输出前缀为--d的信息。
FATAL_ERROR#立即终止所有的cmake过程。

定义了一个为hello的可执行文件,相关的源文件是SRC_LIST中定义的源文件列表。

ADD_EXECUTABLE(hello ${SRC_LIST})

7,清理工程
make clean:
用来清理makefile产生的中间的文件,但是,不能使用make distclean清除cmake产生的中间件
rm -rf ***:
用来删除cmake的中间件

  • 14
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

路漫漫其远,吾求索

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

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

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

打赏作者

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

抵扣说明:

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

余额充值