如何通过Makefile生成和使用静态库与动态库?

2026-04-12 04:480阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计774个文字,预计阅读时间需要4分钟。

如何通过Makefile生成和使用静态库与动态库?

自己动手写下Makefile,并记录备忘。

工程目录如下:

project/│├── src/│ ├── main.c│ └── add.c│├── include/│ └── add.h│└── lib/ └── libAdd.a

Makefile内容:

makefile定义源文件和目标文件SOURCES=src/main.c src/add.cOBJECTS=$(SOURCES:.c=.o)EXECUTABLE=project

定义编译器命令CC=gccCFLAGS=-Wall -cLDFLAGS=-Llib -lAdd

定义编译规则all: $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)$(CC) $(LDFLAGS) -o $@ $^

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

clean:rm -f $(OBJECTS) $(EXECUTABLE)

备忘:

1.确保所有源文件和头文件在正确的目录下。

2.编译时使用`make`命令。

3.清理编译生成的中间文件和可执行文件,使用`make clean`命令。

自己动手写下Makefile,并记录备忘。

阅读全文

本文共计774个文字,预计阅读时间需要4分钟。

如何通过Makefile生成和使用静态库与动态库?

自己动手写下Makefile,并记录备忘。

工程目录如下:

project/│├── src/│ ├── main.c│ └── add.c│├── include/│ └── add.h│└── lib/ └── libAdd.a

Makefile内容:

makefile定义源文件和目标文件SOURCES=src/main.c src/add.cOBJECTS=$(SOURCES:.c=.o)EXECUTABLE=project

定义编译器命令CC=gccCFLAGS=-Wall -cLDFLAGS=-Llib -lAdd

定义编译规则all: $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)$(CC) $(LDFLAGS) -o $@ $^

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

clean:rm -f $(OBJECTS) $(EXECUTABLE)

备忘:

1.确保所有源文件和头文件在正确的目录下。

2.编译时使用`make`命令。

3.清理编译生成的中间文件和可执行文件,使用`make clean`命令。

自己动手写下Makefile,并记录备忘。

阅读全文