c++ -/usr/local/lib 中缺少符号链接(symbolic link)

标签 c++ linux linker embedded-linux bsp

对于我的嵌入式 Linux (TI AM335x) 板,我有一个包含子文件夹 sysroot 和文件系统的 SDK。例如。对于 libz:

sysroot/.../usr/lib 包含:

libz.so         # symbolic link to libz.so.1.2.7
libz.so.1       # symbolic link to libz.so.1.2.7
libz.so.1.2.7

文件系统/usr/lib/包含

libz.so.1       # symbolic link to libz.so.1.2.7
libz.so.1.2.7

文件系统不包含符号链接(symbolic link) libz.so --> libz.so.1.2.7。但我的链接器想要它。所以我添加了它。 我的问题:不提供此类符号链接(symbolic link)是否有任何常见原因?这样可以实现哪个目标?

最佳答案

这样做的原因是链接到库的程序只能指定一个“soname”,它链接到库的“真实名称”。如果您决定升级库,链接器现在链接到最新版本,而不必总是更改链接器配置。如果您想了解更多相关信息,请查看here .

关于c++ -/usr/local/lib 中缺少符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25338507/

相关文章:

c++ - 静态变量声明和定义

c++ - 获取QtDesigner制作的Widget指针

c - 流程的完整状态

c++ - 为什么 "Multiple definitions linker error"当 nm 只看到一个定义

gcc - CMake 相当于 -l 作为 ld 链接到库的 gcc 指令

c++ - 我的程序无法写入 Windows 驱动器

linux - 如何使用已建立的 GSS API 上下文获取客户端用户名

linux - Linux权限中的第4位和第5位数字是什么?

linux - 无法在 CentOS 6.5 中查看 MP4

c++ - 将类实例作为指针传递并在此指针上使用重载的下标运算符