1、生成静态库
1.gcc -c test.c -o test.o 2.ar cr libgbfont.a test.o
注:ar是生成库的命令,cr是参数,libgbfont.a是生成静态库链接库须以lib开头,test是库名,a表示静态链接库,test.o是刚生成的目标文件 2、生成动态链接库
1、gcc -c test.c -o test.o
2、gcc -shared -WI -o libgbfont.so test.o
注:-shared -WI是参数,libgbfont.so 是生成的静态链接库须以lib开头,test是库名,so表示是动态链接库,test.o是刚才生成的目标文件 。。、 3、将生成的libgbfont.a,libgbfont.so拷贝到/usr/lib 或/lib下 4、编译带静态链接库的程序 1.gcc -c test.c -o test.o
2.gcc test.o -o test -WI -Bstatic -lh //g++ -o test test.cpp -L. -lgbfont
注:-WI -Bstatic 表示链接静态库,-lh中-l表示链接,h是库名即/usr/lib下的libgbfont.a 5、编译带动态链接库的程序 1.gcc -c test.c -o test.o
2.gcc test.o -o test -WI -Bdynamic -lh //g++ -o test test.cpp -L.-lgbfont
注:-WI -Bdynamic表示链接动态库,-lh中-l表示链接,h是库名即/usr/lib下的libh.so 6、运行./test得到结果 7、其他知识
有些库形如libh.so.1.0,1.0表示版本号.若要使用该库,通常要建立一个软连接,用ln -s libh.so.1.0 libh.so.系统不知道1.0为何意思。
编译连接时同时要用动态和静态链接库,则用如下命令 gcc test.o -o test -WI -Bstatic -lh1 -WI -Bdynamic -lh2
生成静态库和动态库的Makefile:
例如:gb2UTF8.cpp gb2UTF8.h #
GG=g++ LD=ld
LIBA=libgb2UTF8.a LIBSO=libgb2UTF8.so AR=ar
gb2UTF8:gb2UTF8.o $(GG) -c gb2UTF8.cpp -o gb2UTF8.o $(LD) -shared -o $(LIBSO) gb2UTF8.o $(AR) -r $(LIBA) gb2UTF8.o #使用链接库
# $(GG) gb2UTF8.cpp -I. -L. -o gb2UTF8.o -lgb2UTF8 clean:
rm -f *.o *.a *.so gb2UTF8
静态库和动态库生成XML
因篇幅问题不能全部显示,请点此查看更多更全内容