gcc做一个静态库文件 .a .so makefile

静态库文件一般是a为后缀,如libxxx.a。实际上是把全部o文件打包。

其实只用到了2句话:

gcc -c src.c

ar r libxxx.a src.o

 

提供下makefile参考:

  1. CFLAGS := -g -Wall  
  2. CC := arm-linux-gcc  
  3. CSRCS := bbb.c  
  4. COBJS := bbb.o  
  5. INCDIR := /home/arm/linux-2.6.24.7/include  
  6. TARGET := libxxx.a  
  7. all:  
  8.     $(CC) -c $(CSRCS) $(CFLAGS) -I$(INCDIR)  
  9.     ar r $(TARGET) $(COBJS)  
  10. clean:  
  11.     rm -rf *.o $(TARGET) 

例外注意:

库的源文件是没有main()函数的。而且如果要使用系统函数的话,一定要包含相应的头文件,这一点和有main()的应用程序不一样。

例如,打开设备,open,close。如果没有包含unistd.h和fcntl.h,那么就会出现警告,提示该函数没有实现。

 

你可能感兴趣的:(gcc,makefile)