如果将.c文件编译成为.a文件

时间:2022-06-17 01:01:54
1、我用C语言开发程序,现在写了一些工具类,也业务无关的函数,现在为了不把源代码放入以后需要开发的目录中,想自己创建一个目录如:ourlib,将自己开发的库放入此目录,这样开发其它的程序时直接可以调用此类,现如果将.c的代码编译成为.a的文件,为了以后方便进行调用。
2、在Makefile中如果写相应的脚本

6 个解决方案

#1


up

#2



.a文件是什么啊??
帮顶!
请高人回答!

#3


ar ruv lib.a  a.o b.o c.o  ...

#4


.a文件是linux或unix下的库文件。
先将.c文件用gcc或cc编译成.o文件。
ar是归档器(archiver),ruv是代表修改,更换和详述。
如果该.a文件不存在就创建它。
其它的,楼主可以自己查一下说明。

#5


给楼主一个例子:
OBJS    = error.o loglib.o
CC      = gcc
IN      = -lpthread -lconfig_api -L../config_api/libconfig_api.a
INCLDUE = -I../config_api

libshare.a: $(OBJS)
        ar cr libshare.a $(OBJS)
error.o         : error.c error.h loglib.h
        gcc -c error.c error.h loglib.h
loglib.o        : loglib.c loglib.h $(INCLUDE)
        gcc -c loglib.c loglib.h $(INCLUDE)

clean:
        rm -f *.o libshare.a

#6


用gcc编译

#1


up

#2



.a文件是什么啊??
帮顶!
请高人回答!

#3


ar ruv lib.a  a.o b.o c.o  ...

#4


.a文件是linux或unix下的库文件。
先将.c文件用gcc或cc编译成.o文件。
ar是归档器(archiver),ruv是代表修改,更换和详述。
如果该.a文件不存在就创建它。
其它的,楼主可以自己查一下说明。

#5


给楼主一个例子:
OBJS    = error.o loglib.o
CC      = gcc
IN      = -lpthread -lconfig_api -L../config_api/libconfig_api.a
INCLDUE = -I../config_api

libshare.a: $(OBJS)
        ar cr libshare.a $(OBJS)
error.o         : error.c error.h loglib.h
        gcc -c error.c error.h loglib.h
loglib.o        : loglib.c loglib.h $(INCLUDE)
        gcc -c loglib.c loglib.h $(INCLUDE)

clean:
        rm -f *.o libshare.a

#6


用gcc编译