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

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
J
Java Code Geeks
C
Check Point Blog
Last Week in AI
Last Week in AI
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
L
LangChain Blog
有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
IT之家
IT之家
Martin Fowler
Martin Fowler
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
U
Unit 42
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ

博客园 - 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