静态库和动态库制作

来源:互联网 发布:unity3d中文版软件 编辑:程序博客网 时间:2024/05/29 13:31
制作静态库的方法:
1、 把代码编译为目标文件形式:
# gcc -c liberr.c -o liberr.o
2、 使用工具ar创建一个存档文件:
# ar rcs liberr.a liberr.o
3、 编译程序时把程序和liberr.a链接起来:
# gcc errtest.c -o errtest -static -L./ -lerr


制作动态库的方法:
1、 首先编译目标文件:
# gcc -fPIC -g -c liberr.c -o liberr.o
2、 然后链接库:
#gcc -g -shared -Wl,-soname,liberr.so -o liberr.so.1.0.0 liberr.o -lc
3、 把生成的动态库liberr.so.1.0.0拷贝到/usr/lib目录里:
#cp liberr.so.1.0.0 /usr/lib
4、 进入/usr/lib目录建立两个链接文件:
#cd /usr/lib
#ln -s liberr.so.1.0.0 liberr.so.1
#ln -s liberr.so.1.0.0 liberr.so
5、 编译程序时和动态库链接起来:
#gcc errtest.c -o errtest -lerr