惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
C
Check Point Blog
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
Recent Announcements
Recent Announcements
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
J
Java Code Geeks
博客园_首页
Jina AI
Jina AI
美团技术团队
H
Help Net Security
MyScale Blog
MyScale Blog
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
S
SegmentFault 最新的问题

博客园 - Ghost_zhao

knowlegecube 不停服更新二进制文件 linux 热替换so文件 博客更换至 www.zhaoch.top linux ptheard 生产者消费者 c++ 最短路两种算法 C++语言十进制数,CDecimal(未完成) C语言面向对象的简便方法 C语言2048 C图书借还示例 Javascript 备忘 MFC小备忘 C++学习备忘(二) C++坦克大战 C++ 走迷宫 MFC 扫雷 C++学习备忘(一) 用MFC作的俄罗斯方块 C#手动回收内存的简单方法
一个简单的makefile,一次性编译本文件夹下所有的cpp文件
Ghost_zhao · 2015-04-12 · via 博客园 - Ghost_zhao

代码:

 CXX := g++

CFLAGS := -g
TARGET := xxx.exe
SRCS := $(wildcard *.cpp)
OBJS := $(patsubst %cpp,%o,$(SRCS))
all:$(TARGET)
%.o:%.cpp
    $(CXX) $(CFLAGS) -c $<
$(TARGET):$(OBJS)
    $(CXX) $(CFLAGS) -o $@ $^
clean:
    rm -rf $(TARGET) *.o

操作:

make xxx.exe

解释

TARGET := xxx.exe 是最终的可执行文件的名称,可以根据需要修改

SRCS := $(wildcard *.cpp)  所有的cpp文件

OBJS := $(patsubst %cpp,%o,$(SRCS)) 所有的.o文件

all:$(TARGET) 相当于一个代码段的标志

 %.o:%.cpp  将每个cpp编译成一个.o文件

    $(CXX) $(CFLAGS) -c $<

 $(TARGET):$(OBJS)  将所有.o链接成一个可执行文件

    $(CXX) $(CFLAGS) -o $@ $

clean:  输入 make clean 执行这段,删除之前的内容

rm -rf $(TARGET) *.o