GNU make 简单使用示例

要求:编写Makefile对两个.cpp文件进行编译链接生成可执行文件main,cpp文件可见下面链接:

https://blog.csdn.net/Reading8/article/details/132630694icon-default.png?t=N7T8https://blog.csdn.net/Reading8/article/details/132630694对此示例进行编译链接生成可执行文件有两种方法。

一种是命令行的方式

(base) ganning@ganning:~/Xproject/makefilesteel$ g++ main.cpp myfunctions.cpp -o main
(base) ganning@ganning:~/Xproject/makefilesteel$ ls
main  main.cpp  myfunctions.cpp  myfunctions.h
(base) ganning@ganning:~/Xproject/makefilesteel$ ./main
Hello world!

另一种为编写Makefile的方式

main: main.o myfunctions.o
	g++ main.o myfunctions.o -o main


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

myfunctions.o: myfunctions.cpp myfunctions.h
	g++ -c myfunctions.cpp
	
clean:
	rm *.o 

注意 <  g++ -c main.cpp >中-c 表示不生成可执行文件,<rm *.o>表示删除所有.o后缀文件,可使用make clean来调用此操作,可以看出Makefile文件基本编写规范为

target: materials
    Operation

结果验证

(base) ganning@ganning:~/Xproject/makefilesteel$ make
g++ -c main.cpp
g++ -c myfunctions.cpp
g++ main.o myfunctions.o -o main
(base) ganning@ganning:~/Xproject/makefilesteel$ ls
main  main.cpp  main.o  Makefile  myfunctions.cpp  myfunctions.h  myfunctions.o
(base) ganning@ganning:~/Xproject/makefilesteel$ ./main
Hello world!
(base) ganning@ganning:~/Xproject/makefilesteel$ make clean
rm *.o 
(base) ganning@ganning:~/Xproject/makefilesteel$ ls
main  main.cpp  Makefile  myfunctions.cpp  myfunctions.h

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值