gcc 编译静态链接库
时间:2009-08-20 来源:tdh2002
#bill.c fred.c hello.c program.c lib.h
CC=gcc
CFLAGS=-Wall
all:p1 p2
bill.o:bill.c lib.h
$(CC) $(CFLAGS) bill.c -o bill.o -c
fred.o:fred.c lib.h
$(CC) $(CFLAGS) fred.c -o fred.o -c
libabc.a:fred.o bill.o
ar r libabc.a fred.o bill.o
#ar t lib.a 显示包含库的文件
#ranlib lib.a 创建库的动态索引文件帮助提高和库连接其他程序的编译速度
#ar cr
libabcd.so:fred.o bill.o
$(CC) $(CFLAGS) -shared -o libabcd.so fred.o bill.o
#gcc -shared -fPic
p1:program.c libabc.a
$(CC) $(CFALGS) program.c libabc.a -o p1
p2:program.c libabcd.so
$(CC) $(CFLAGS) program.c -L. -labcd -o p2
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
.PHONY:clean
clean:
rm main *.o *.so *.a p1 p2 -rf
CC=gcc
CFLAGS=-Wall
all:p1 p2
bill.o:bill.c lib.h
$(CC) $(CFLAGS) bill.c -o bill.o -c
fred.o:fred.c lib.h
$(CC) $(CFLAGS) fred.c -o fred.o -c
libabc.a:fred.o bill.o
ar r libabc.a fred.o bill.o
#ar t lib.a 显示包含库的文件
#ranlib lib.a 创建库的动态索引文件帮助提高和库连接其他程序的编译速度
#ar cr
libabcd.so:fred.o bill.o
$(CC) $(CFLAGS) -shared -o libabcd.so fred.o bill.o
#gcc -shared -fPic
p1:program.c libabc.a
$(CC) $(CFALGS) program.c libabc.a -o p1
p2:program.c libabcd.so
$(CC) $(CFLAGS) program.c -L. -labcd -o p2
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
.PHONY:clean
clean:
rm main *.o *.so *.a p1 p2 -rf
相关阅读 更多 +
排行榜 更多 +