linuxgcc编译静态库
时间: 2024-08-30 18:02:05 浏览: 84
Linux 如何使用gcc生成静态库和动态库
在Linux上使用GCC编译静态库通常涉及到以下几个步骤:
1. 创建源文件目录:首先,创建一个包含所有源代码的目录,并将它们组织成适当的结构,比如`src/yourlib`。
2. 编写源代码:编写需要编译进库的C/C++源代码。每个源文件应当尽可能只包含单个函数或相关的功能。
3. 定义库项目:在`src/yourlib`目录下创建一个名为`Makefile`的文件,用于指定编译规则。例如:
```makefile
CC = gcc
AR = ar
RANLIB = ranlib
CFLAGS = -std=c99 -Wall -pedantic
SRC = $(wildcard *.c)
OBJECTS = $(SRC:.c=.o)
all: libyourlib.a
libyourlib.a: $(OBJECTS)
$(AR) rcs $@ $^
$(RANLIB) $@
%.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
```
4. 编译库:运行`make`命令,这会按照`Makefile`的规则生成静态库`libyourlib.a`。
5. 使用库:其他程序想要链接这个静态库,只需在`CFLAGS`中添加 `-I$(dir yourlib)` 来包含头文件路径,并在链接阶段加入 `-lyourlib` 参数。
阅读全文