全球主机交流论坛

标题: 我linux调用so文件,提示找不到,但是这样就可以,为什么? [打印本页]

作者: 斌斌    时间: 2022-2-4 16:21
标题: 我linux调用so文件,提示找不到,但是这样就可以,为什么?
我调用 1.so   他依赖2.so ,在同一个文件,调用时候提示依赖错误,用ldd  1.so ,提示找不到2.so,
百度查了半天,说放在/usr/lib64 里面就可以?我测试了下可以了。请问为什么。
作者: leviathan0992    时间: 2022-2-4 16:22
自动链接了啊
作者: catdrive    时间: 2022-2-4 16:57
ldconfig
作者: konololi    时间: 2022-2-4 17:02
因为/usr/lib64是默认的链接目录
而当前目录并不是默认的链接目录这点是为了安全性考虑的
作者: 斌斌    时间: 2022-2-4 17:31
konololi 发表于 2022-2-4 17:02
因为/usr/lib64是默认的链接目录
而当前目录并不是默认的链接目录这点是为了安全性考虑的 ...

我程序调用本目录的东西还不行么?好奇怪。除了放这里,还有什么办法解决的么。
作者: konololi    时间: 2022-2-4 17:34
斌斌 发表于 2022-2-4 17:31
我程序调用本目录的东西还不行么?好奇怪。除了放这里,还有什么办法解决的么。 ...

不行,就像本目录也不在PATH里面。

解决方法的话,
1.编译链接生成程序的时候可以指定链接路径
2.可以修改环境变量LD_LIBRARY_PATH ,把 本目录放进去




欢迎光临 全球主机交流论坛 (https://loc.010206.xyz/) Powered by Discuz! X3.4