Makefile初步学习

今天用notepad++写代码,多文件的,包括go.cpp,gofsize.cpp,gofsize.h,编译时总是报如下错误:

反复查找也找不到原因,直接到MinGW Shell里敲代码

直接编译通过了,这才发现,自己在notepad++里面设置的快捷编译只是编译go.cpp一个文件:

难怪,找到原因之后,自然而然想到了该用Makefile了,每次敲那么多命令会很烦的。
找了些makefile的资料:

写如下内容到makefile:

其中对于第一行,go是这条规则的目标(Target),go.o、gofsize.o是这条规则的条件(Prerequisite)。目标和条件之间的关系是:欲更新目标,必须首先更新它的所有条件;所有条件中只要有一个条件被更新了,目标也必须随之被更新。所谓“更新”就是执行一遍规则中的命令列表,命令列表中的每条命令必须以一个Tab开头,注意不能是空格,Makefile的格式不像C语言的缩进那么随意,对于Makefile中的每个以Tab开头的命令,make会创建一个Shell进程去执行它。其他行与第一行类似。(参考宋劲杉《Linux C编程一站式学习》http://www.tecbbs.com/linuxc/ch22s01.html
这样之后在notepad++的控制台敲make就可以正常编译了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注