一个编译C++ 文件常用得 makefile ,直接拷贝就可以用哦。

本文介绍了一个Makefile配置示例,详细展示了如何设置源代码路径、编译器及编译参数,以及如何通过通配符匹配源文件并生成目标文件。同时,文中还包含了清理编译产物的命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SRCROOT 当前源代码目录

SRCROOT=../src/


CC = g++


INCLUDE_PATH=$(shell find $(SRCROOT) -type d) ../src

INCLUDE=$(addprefix -I ,$(INCLUDE_PATH))


#设置编译得参数 -g 表示可以产生debug符号

FLAGS = -g -fPIC


#SRC_FILE 也可以这样来做:

#SRC_FILES=$(wildcard *.cpp)
#DIR=$(notdir $(src))
#OBJS=$(patsubst %.c%.o$(dir) )


SRC_FILES=$(shell find $(SRCROOT) -name '*.cpp') 

OBJS=$(patsubst %.mm,%.o,$(patsubst %.cpp,%.oo,$(SRC_FILES)))


all:    ALLEXE


ALLEXE:  $(OBJS)

$(CC) $(FLAGS) -o $@ $^

find $(SRCROOT) -name '*.o' | xargs rm -fr

find $(SRCROOT) -name '*.oo' | xargs rm -fr

find $(SRCROOT) -name '*.s' | xargs rm -fr

find $(SRCROOT) -name '*.ss' | xargs rm -fr


%.o: %.cpp

$(CC) $(FLAGS) -o $@ $<

#也可以这样写:

# $(OBJS): %.o: %.c
# $(CC) -c $(CFLAGS) $< -o $@ 

#    记得命令用tab开头哦。。。


clean:

find $(SRCROOT) -name '*.o' | xargs rm -fr

find $(SRCROOT) -name '*.oo' | xargs rm -fr

find $(SRCROOT) -name '*.s' | xargs rm -fr

find $(SRCROOT) -name '*.ss' | xargs rm -fr

rm -fr ALLEXE 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值