在Linux环境下,根据第三方提供的动态链接库和API利用C语言进行开发,编译链接通过后,当运行时报错说无法加载动态链接库例如:
疑问就来了,动态链接库我使用的全路径(例如:/home/cyren/src/lib/libaivse000.so.5 ),文件明明在指定的目录,却就是无法使用,
于是通过命令 /sbin/ldconf -v | grep "libaivse000" 查看是否系统有加载该库,发现果然没有,例如:
解决方法:
在/etc/ld.so.conf文件中添加路劲,vi /etc/ld.so.conf 打开该文件添加路径,如下:
添加完成后:x或:wq保存退出,然后重新加载动态链接库并获取是否加载了libaivse000.so.5,如下:
这样第三方的动态链接库手动修改加载完成,重新编译链接程序后,测试通过。
本人使用的事centos系统,一开始将动态链接库添加到/usr/local/lib目录下,就出现了上述的问题,通过网上查找发现系统指定的动态链接库路径
有所不同,于是就有了上述的方法,记录下来以防遗忘。
补:ldconfig则可以替代上述方法,加载新安装的动态库。