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

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

 1、编译
 2、设置库名:
   库的名称格式:lib + XXX + 版本号.so (库的名称为XXX)
-shared 生成共享文件库 -fpic 动态链接
linux下共享库的制作及常见的问题
 3、把头文件和.so文件放到系统目录下
linux下共享库的制作及常见的问题
(使用共享库了,把之前的#include “list.h” 改成 #include < list.h > ,删除该文件夹内的list.* ,就可以运行成功了)
 4、链接库:gcc main.c -o main -lList
linux下共享库的制作及常见的问题
  注意:如果.h没有放在系统路径下,要使用-I路径
如果.so没有放在系统路径下,要使用-L路径

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

  1) 首先,把.h和.so移动到非系统路径下,链接生成可执行文件,运行时找不到:
linux下共享库的制作及常见的问题
  2) 解决方法1:修改共享库配置文件/etc/ld.so.conf,把.so的路径加入到配置文件中;执行:ldconfig
linux下共享库的制作及常见的问题
  解决方法2:配环境变量LD_LIBRARY_PATH
(不过,这种方法是临时的,只对当前用户本次登录有效)
linux下共享库的制作及常见的问题
也可以查看环境变量的值:$LD_LIBRARY_PATH
然后修改,LD_LIBRARY_PATH = $LD_LIBRARY_PATH:/mnt/hgfs/share/