我该如何处理预构建的库 .so.0 文件?

我该如何处理预构建的库 .so.0 文件?

我已经下载了一个预编译库,其文件名格式为:

<name>.so.0

我收集了某种版本控制?如何使用该库 - 我需要使用工具来提取它吗?我认为该程序只会<name>在查找文件时才会查找..

答案1

执行二进制文件时,会自动加载已编译的库。为此,将检查 /etc/ld.so.conf 中定义的位置。在大多数发行版上,您应该将库放在 中/usr/local/lib,其中存储了未由包管理器安装的库。

如果您不想在系统范围内安装库(或没有 root 访问权限),则可以LD_LIBRARY_PATH在运行程序时设置为包含 .so 文件的文件夹:

LD_LIBRARY_PATH=/path/to/folder_with_so_file ./yourprogram

关于版本号:如果您的程序明确查找.so没有版本号,请创建一个符号链接(也在 lib 文件夹中):

ln -s <name>.so.0 name.so

大多数库保留具有最具体版本号的文件,并为主要版本和非版本化名称创建符号链接(例如,在我的系统上/usr/lib包含文件libjpeg.so, /usr/lib64/libjpeg.so.62/usr/lib64/libjpeg.so.62.0.0,前两个是到后者的符号链接)

相关内容