当前位置: 代码迷 >> 综合 >> Makefile 简单入门
  详细解决方案

Makefile 简单入门

热度:31   发布时间:2023-12-16 13:28:11.0

linux下为了方便快捷的对项目进行编译,有了makefile这一套机制。

在项目根目录下,vim  Makefile。(其实小写m开头也是可以的)

假设我们有 a1.cpp ,b2.cpp,c3.cpp需要去编译链接,而产生的可执行文件叫做run。那么Makefile我们可以这么写。

——————————————————Makefile————————————————————

main:a1.cpp  b2.cpp c3.cpp

g++  -o run  a1.cpp   b2.cpp c3.cpp  -Wall

clean:

rm  run

——————————————————over——————————————————————

解释下,我是这么理解的,main后面是编译所需要的文件(就想main函数需要的参数),

g++ 后的 -o表示产生可执行文件名,-Wall设置输出编译时产生的warning,便于调试。

clean:是另外一个方法,命令行输如make clean时就会执行”rm run“。

(这是你会联想到main和clean是否能够换个词呢,自己试试吧)


接着,我看着Makefile中a1.cpp  b2.cpp c3.cpp写了2遍,如果文件更多,那么将更加麻烦。

所有我们可以使用变量

——————————————————Makefile————————————————————

FILE=a1.cpp  b2.cpp c3.cpp

main:${FILE}

g++  -o run ${FILE} -Wall

clean:

rm  run

——————————————————over——————————————————————

变量FILE的值为a1.cpp  b2.cpp c3.cpp,而使用变量按照格式${变量名}就行了。


最后,入门使用Makefile,Makefile 的编写应该不是大问题,该花更多时间注意的是.h文件的编写(extern函数和变量)。