一、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
vim ~/.bashrc
最后一行加上:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/path
按下快捷键shift+
输入wq!
保存编辑退出
执行source ~/.bashrc指令,再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
原文链接:https://blog.csdn.net/qc530167365/article/details/91491851