解决cannot open shared object file: No such file or directory

2023-05-16

一、linux下调用动态库.so文件时提示:

cannot open shared object file: No such file or directory

解决办法:

 1、此时ldd xxx查看依赖缺少哪些库

	libmysqlcppconn.so.7 => not found
	libboost_system.so.1.64.0 => not found

 2、设置变量 LD_LIBRARY_PATH

sudo gedit ~/.bashrc

 最后一行加上:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/path

重新打开bash,再ldd,就可以找到库路径了。

二、(推荐)修改共享库配置文件/etc/ld.so.conf

java导入动态库system.load("xxx")时也会出现cannot open shared object file: No such file or directory,此时修改LD_LIBRARY_PATH还是会报错,可以修改/etc/ld.so.conf

1、设置:

sudo gedit /etc/ld.so.conf

2、添加库路径:

include /etc/ld.so.conf.d/*.conf
/home/xxx/Documents/core/Linux/Test/src/Test

保存退出;

3、使配置立即生效

sudo ldconfig

end

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决cannot open shared object file: No such file or directory 的相关文章