软讯网络 > 编程语言 > C/C++ > AvrGCC创建*.a的库文件
【标 题】:AvrGCC创建*.a的库文件
【关键字】:
AvrGCC,.a
【来 源】:http://www.cublog.cn/u/5740/showart.php?id=98275
AvrGCC创建*.a的库文件

A:在avrgcc中如何创建自己的库文件(*.a)?
Q:
1. 手工创建 比如你有testc1,testc2这2个文件要创建成test.a 首先编译testc1和testc2 可以参考 AvrGCC编译单个C文件 然后 avr-ar -r test.a testc1.o testc2.o 注意工作目录和WinAVR所在的目录
2. 使用makefile
# make lib written by funchip
# www.fcdpj.com
# email webmaster@fcdpj.com
# use make lib command to creat the lib
# List C source files here
LIB_C_SRC = testc1c test2.c
# List Assemble source files here
LIB_A_SRC =
# inster or creat the lib's name
LIBFILE = test.a
LIB_OBJS = $(LIB_A_SRC:.S=.o) $(LIB_C_SRC:.c=.o)
AR = avr-ar
RANLIB = avr-ranlib
$(LIBFILE): $(LIBFILE)($(LIB_OBJS)) $(RANLIB) $@
# make lib command
lib: begin make_lib finished end
make_lib:
$(REMOVE) $(LIBFILE).a
$(REMOVE) $(LIB_C_SRC:.c=.lst)
$(REMOVE) $(LIB_C_SRC:.c=.o)
$(REMOVE) $(LIB_C_SRC:.c=.s)
$(REMOVE) $(LIB_C_SRC:.c=.d)
$(REMOVE) $(LIB_A_SRC:.S=.lst)
$(REMOVE) $(LIB_A_SRC:.S=.o)
$(REMOVE) $(LIB_A_SRC:.S=.d)
make $(LIB_OBJS)
$(AR) -r $(LIBFILE).a $(LIB_OBJS)
这样,你只要填写好输入的*.C或者*.S 文件,输出的*.A或者要插入的*.A文件, 使用make lib就可以轻松的编译出库文件了