千家信息网

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

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,将自己写的链表生成共享库 1、编译 2、设置库名:   库的名称格式:lib + XXX + 版本号.so (库的名称为XXX)-shared 生成共享文件库 -fpic 动态链接  3、把头文件和.
千家信息网最后更新 2025年01月23日linux下共享库的制作及常见的问题

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

 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/

0