分享

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

 todaytomo 2007-08-13
由于工作分工的问题,我做一个项目的一部分,大概情况是这样:  

    我用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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多