大连做网站优化,西班牙网站后缀,家具网站源码,网站开发后端做什么加载动态库时有时会出现error while loading shared libraries#xff1a;libcalc.so:可以通过lld命令查看动态库的依赖关系#xff0c;发现libcalc.so时not found
原因
查找的优先级是DT_RPATH-LD_LIBRARY_PATH-/etc/ld.so.cache-/lib/,/usr/lib
找不到一个优…
加载动态库时有时会出现error while loading shared librarieslibcalc.so:可以通过lld命令查看动态库的依赖关系发现libcalc.so时not found
原因
查找的优先级是DT_RPATH-LD_LIBRARY_PATH-/etc/ld.so.cache-/lib/,/usr/lib
找不到一个优先级顺位延
所以需要把动态库的路径加载进去
解决方法
一配置环境变量 把libcalc.so所在的路径配置到环境变量LD_LIBRARY_PATH中去(通过pwd查看绝对路径
但是这个环境变量只是在这个终端中配置的当关闭终端时环境变量就消失了所以需要配置永久的环境变量
1用户级别的配置
进入home桌面配置.bashrc文件在文件中在最后一行新开一行加上绝对路径然后更新文件在重回ldd发现可以了 2系统级别的配置
使用 sudo vim /etc/profile 一样在最后一行插入那个export(省略了
然后再source /etc/profile 更新一下
在运行main又可以了
二、修改etc/ld.so.cache文件
不能直接打开这个文件 通过sudo vim /etc/ld.so.conf间接修改 直接把路径粘贴在这 然后直接更新 sudo ldconfig 就ok了 其实也可以放到/lib/和/usr/lib中但是里面自带的文件太多了可能会发生修改系统文件不推荐