makefile简单介绍

网上搜了很多“makefile”的教程,都是非常详细的长篇,看的晕乎乎的,估计不磕个几天是学不到什么的。所以我还是写一个简单的笔记,适合初学者

另外介绍一个详细的网站 跟我一起写Makefile


target ... : prerequisites ...
	command
	...
	...
这是基本的句式】。

target是目标文件(可以是可执行文件,可以是标签)

prerequisites是生成目标文件所需要的文件或者目标

command是命令,也就是shell命令(shell是一种脚本语言,可以简单看下教程,如果有其他语言基础,那学起来很快)


好了,有了上面的基础我们就可以开始尝试makefile了:

先写三个基本的文件:main.cpp classA.cpp classA.h

基本内容:classA是一个简单的类,然后在main中调用这个类,具体代码和在vs中一样,所以就不详细帖出来了。

直接上makefile代码(文件取名为makefile):

edit : main.o classA.o 
	g++ -o edit main.o classA.o

main.o : main.cpp classA.h
	g++ -c main.cpp
classA.o : classA.cpp classA.h
	g++ -c classA.cpp

clean : 
	rm main.o classA.o

直接在终端的相应目录下输入make即可看到结果,当然也不一定取名为makefile,但是要执行就要用:make -f filename


刚一看还是有点迷糊的,我来简单分析一下(新人目光,不负责对错):

1. edit是一个标签,不会生成这个文件,我觉得应该是个将几个.o生成最后的可执行文件的一个过渡

后面有两个.o文件,说明了其有依赖性

下一段是一句shell命令,目的是将两个.o生成最后的可执行文件finsh.out

2. main.o 后跟着main.cpp和classA.h,说明生成main.o依赖于这两个文件

紧跟着是一句shell命令,目的是编译生成main.o,也就是上一步需要的文件

3. 与上一步一样

4. clean,这句与上面的不同,从下面的命令可以看出这句的作用是删除这几个文件,我们可以这样调用make clean


这样几步差不多就学会了如何编译链接简单的工程,当然makefile还有很多高端的东西~慢慢学吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值