Makefile以及CMakelists的编辑

1.概念

在linux中不像windows和mac有图形界面,怎么快速的用命令行运行大型项目成为一个问题,并且像c/c++需要自己添加include文件的位置 ,当文件数目变多的时候,怎么运行项目就成一个一个问题。

Makefile就是为了解决这个问题,我们可以把各种依赖和shell语句放在makefile文件中,然后make执行这个文件就可以将程序按照makefile的流程跑起来了。

  • 支持中大型项目的运行
  • 支持只编译修改过的代码部分,节省大量时间

2. Makefile的格式

targets : prerequisites
command

  • targets:规则的目标,可以是 Object File(一般称它为中间文件),也可以是可执行文件,还可以是一个标签;
  • prerequisites:是我们的依赖文件,要生成 targets 需要的文件或者是目标。可以是多个,也可以是没有;
  • command:make 需要执行的命令(任意的 shell 命令)。可以有多条命令,每一条命令占一行。

test:test.c
gcc -o test test.c

3.CMakelists文件的编写

在c++中我们知道,不管vscode配置还是命令行都需要比较复杂的操作,但是如果掌握了CMakelists,我们运行c++程序就比较简单了,只需要把所有的配置全写在这个文件里,然后cmake . + make就好了。

# CMAKE_SOURCE_DIR为CMakelists.txt文件的当前目录
project(any_project_name)


# 源文件 可以写多个file,来连接多个文件,这里就找到需要执行的cpp文件
file(GLOB SOURCE_1 "${CMAKE_SOURCE_DIR}/benchmark/*.cpp")

# 可执行文件放的地方
SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/bin/")

# 头文件
include_directories("${CMAKE_SOURCE_DIR}/include/")

// 生成可执行文件
add_executable(any_project_name ${SOURCE_1})
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值