Makefile编译多个cpp文件

Makefile编译多个cpp文件

1:首先:用g++编译.cpp文件的方法:

可以直接用:

g++ 文件名.cpp

生成一个名为 “文件名.out” 的可执行文件

其原理为:

先由:

g++ -c 文件名.cpp:生成一个名为 “文件名.o” 的文件

再由:

g++ 文件名.o:生成一个名为 “文件名.out” 的可执行文件

另外,可以用:

g++ -c 文件名.cpp -o 新文件名.cc:生成一个被命名成 “新文件名” 的.o文件

g++ 文件名.o -o 新文件名:生成一个名为 “新文件名” 的可执行文件
 

例如:这里有一个a.cpp文件

里面的内容为:

#include<stdio.h>
int main(){
    printf("随便输出点东西");
    return 0;
}

在该文件所在的目录下打开终端,输入:

 即可生成一个可执行文件a.out:

输入:

可生成一个名为lalala的可执行文件

在终端输入:./ a.out     即可运行该程序 (输入./ lalala   也可以)

 

 

 2:有多个.cpp文件时,用Makefile编译更加方便,下面是Makefile的写法

例如:这里有2个.cpp文件组成的程序

我的Makefile应该这样写:

#第一个maincc是自己随便起的要生成的可执行文件的名字,main.o和circle.o是生成maincc要用到的文件
maincc:main.o circle.o
	g++ circle.o main.o -o maincc    #用g++把circle.o和main.o两个文件编译成可执行文件
                                         #并用 -o 将其命名为maincc
#这一步是main.o的生成,main.cpp是生成main.o要用到的文件
main.o:main.cpp
	g++ -c main.cpp   #用g++ -c 把main.cpp编译成.o文件
#这一步是circle.o的生成,circle.cpp是生成circle.o要用到的文件
circle.o:circle.cpp
	g++ -c circle.cpp   #用g++ -c 把circle.cpp编译成.o文件

加上注释有点乱,这是未加注释的源文件:(第2,4,6行的缩进是一个Tab键

写完保存,直接在终端输入:make     即可编译这两个.cpp文件并生成一个可执行文件maincc

如果,你的文件名字可以不叫Makefile,也可以叫abcdef

编译的时候在终端输入:make -f abcdef 即可

 

编译完成生成的.o文件用不到,可以加两句话自动把.o删掉(编译时要在终端里输入make clean

 

 另外,生成.o文件是为了加深理解,也可以直接用g++将两个.cpp文件编译成一个可执行文件

 


2019.6.15补充

报错:Makefile:2: *** missing separator。 停止。

原因:缺少分隔符,makefile里的命令行必须以tab键开头。

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值