我做了一个简单的lib,可以在我的应用程序中使用,省去了一遍又一遍地定义一些函数的麻烦。。。
这是我的makefile:
CC=gcc
CFLAGS=-Wall -g -Wextra
OBJS=getline.o debug.o
LIB=libjimi.a
.PHONY: clean purge
libjimi.so : $(OBJS)
ar rcs $(LIB) $(OBJS)
@echo done!
%.o : %.c
$(CC) $(CFLAGS) -c $^
clean :
@rm *.o
purge : clean
@rm $(LIB)
现在,如果链接库,我会得到一个segfault,但是如果链接创建库所链接的对象文件,它会工作…建议?
最佳答案
你的目标是libjimi.so这是一个共享库的扩展,对于一个静态库,它应该是libjimi.a。
注意,当您使用静态库时,您只需像任何其他对象文件一样将其链接进来,但是使用共享库时,您将使用-l语法。