当前位置: 技术问答>linux和unix
gcc 如何把一大堆.o文件给组合成一个大的.a文件?
来源: 互联网 发布时间:2016-03-06
本文导语: 不这样的话编译参数得带着一大串的.o文件 很麻烦 谢谢 | ar ru $(LIBFILE) $(OBJFILE) ranlib $(LIBFILE) | 这可不是用.a的理由啊. .a里通常是可重用的例程. 楼主的情况可以这样: sourc...
不这样的话编译参数得带着一大串的.o文件 很麻烦
谢谢
谢谢
|
ar ru $(LIBFILE) $(OBJFILE)
ranlib $(LIBFILE)
ranlib $(LIBFILE)
|
这可不是用.a的理由啊. .a里通常是可重用的例程.
楼主的情况可以这样:
sources = main.c utils.c user.c database.c files.c
objects = $(sources:.c=.o)
RM = rm -rf
bin_prog: $(objects)
$(CC) $(CFLAGS) -o $@ $(LDFLAGS) $(objects) $(LDLIBS)
clean:
$(RM) $(objects) $(bin_prog)
这样就很简单了. 增加文件时, 只需要在sources加上源文件名就可以了.
楼主的情况可以这样:
sources = main.c utils.c user.c database.c files.c
objects = $(sources:.c=.o)
RM = rm -rf
bin_prog: $(objects)
$(CC) $(CFLAGS) -o $@ $(LDFLAGS) $(objects) $(LDLIBS)
clean:
$(RM) $(objects) $(bin_prog)
这样就很简单了. 增加文件时, 只需要在sources加上源文件名就可以了.