一、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(使用前将#替换为@)