Linux下动态库和静态库的编译和链接

1、动态库:Linux中动态库的后缀名为.so

  第二步:gcc -shared (C文件名.c) -o (lib动态库名.so) 创建一个.so文件,因为是64位的系统,不兼容,会报错

  应该在指令前加-fpic 即gcc -fpic -shared (C文件名.c) -o (lib动态库名.so)

  第三步:gcc () -(l库文件名无后缀) -L. -o (编译后的c文件名) -L.告诉系统文件库当前目录

  第四步:进入root模式,export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH 把当前路径加入环境变量

2、静态库:在linux中静态库是以 .a 为后缀的文件

  第一步:编写好库文件的C程序文件


  第二步:gcc -c (库文件名) (库文件名)(有多少写多少) 最终生成.0文件


  第三步:ls -l pr*.o 显示当前的.o文件信息


  第四部:ar -r (静态库名.a) 1.o 2.o ....把目标文件归档,创建一个新库

 

  第五步:gcc (要编译的c文件) (静态库文件名.a)-L. -o (编译后的文件名)

posted @ 2015-09-17 09:33  随梦  阅读(444)  评论(0编辑  收藏  举报