码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2015-09-17 10:02:55      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

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 (编译后的文件名)

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

标签:

原文地址:http://www.cnblogs.com/suimengzhong/p/4815344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!