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函数和变量)。