您的位置:首页 > 运维架构 > Linux

linux下共享库的制作及常见的问题

2017-12-02 17:03 281 查看

将自己写的链表生成共享库

 1、编译
 2、设置库名:
   库的名称格式:lib + XXX + 版本号.so (库的名称为XXX)
-shared 生成共享文件库 -fpic 动态链接



 3、把头文件和.so文件放到系统目录下



(使用共享库了,把之前的#include “list.h” 改成 #include < list.h > ,删除该文件夹内的list.* ,就可以运行成功了)
 4、链接库:gcc main.c -o main -lList



  注意:如果.h没有放在系统路径下,要使用-I路径
如果.so没有放在系统路径下,要使用-L路径

如果共享库并没有放在系统路径下,如何解决运行时找不到的问题

  1) 首先,把.h和.so移动到非系统路径下,链接生成可执行文件,运行时找不到:



  2) 解决方法1:修改共享库配置文件/etc/ld.so.conf,把.so的路径加入到配置文件中;执行:ldconfig



  解决方法2:配环境变量LD_LIBRARY_PATH
(不过,这种方法是临时的,只对当前用户本次登录有效)



也可以查看环境变量的值:$LD_LIBRARY_PATH
然后修改,LD_LIBRARY_PATH = $LD_LIBRARY_PATH:/mnt/hgfs/share/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 共享库 动态