用GCC将源文件编译成库文件的问题 Linux/Unix社区 / 程序开发区

来源:百度文库 编辑:神马文学网 时间:2024/05/15 19:33:54
由于工作分工的问题,我做一个项目的一部分,大概情况是这样:
我用a.h,a.c,b.h,b.c,c.h,c.c来完成一个功能模块,由别人调用a.h中的一个函数来启动我的这个模块,在b.c中还要调用另一个人写的功能模块,我想将a,b,c   编译成一个库文件,这样,在最后一起合成时提供一个my.o文件就可以了,别人调用我的函数,我也可以调用它人写的函数,用GCC怎样编译才好?
现在我可以用   gcc   -c   a.c这样的命令编译出a.o,b.o,c.o,但不知道怎样将这三个.o文件合成一个.o文件.
(在这三个文件中没有   main函数,这点要注意)
请给出详细的编译步骤,谢谢   !
将三个.o文件可以合并成一个.a文件,用ar来打包。之后就可以给你的同事调用了。(   ar   ru   .....   )
最好写makefile
-------------------------------------
下面为一个很简单的makefile文件
OBJS   =   test.a
CC   =   gcc
CFLAGS   =   -Wall   -g
all:   $(OBJS)
$(OBJS)   :   m.o   c.o   b.o
ar   ru   $@   $?
.c.o:
$(CC)   -c   -o   $*.o   $*.c
clean:
rm   -rf   $(OBJS)
rm   -rf   *.o