如何通过Makefile生成和使用静态库与动态库?
- 内容介绍
- 文章标签
- 相关推荐
本文共计774个文字,预计阅读时间需要4分钟。
自己动手写下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,并记录备忘。
工程目录如下:
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,并记录备忘。

