macos - 在 OS X 上,我如何找出共享库与哪些 OS X 版本兼容?

标签 macos shared-libraries dylib

这类似于这个问题: On OS X, how do I find out what architecture a shared lib is compiled for?

除非我想知道 .dylib 是否会在 10.5.x 或 10.4 上运行,例如。

最佳答案

在 .dylib 上运行 otool -L。这将向您显示它所依赖的库及其兼容版本。然后,针对感兴趣的操作系统中的库运行 otool -L。这将向您显示(在第一行)该库的当前版本。如果当前版本至少是兼容版本,那么您的 .dylib 可以使用该库。对所有库重复此操作。

没有太多的捷径。 .dylib 不直接包含任何明确指示它所链接的 SDK。它仅通过库依赖项间接和隐含地执行此操作。

如果 .dylib 链接到中央系统库,例如/usr/lib/libSystem.B.dylib(这很可能),那么您可以使用与该库的兼容性作为与操作系统版本兼容的代理作为一个整体。

关于macos - 在 OS X 上,我如何找出共享库与哪些 OS X 版本兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22851688/

相关文章:

docker - 访问 Docker 容器内的共享库

ios - 使用 Bitcode 更改 LC_ID_DYLIB 重新编译

macos - 如何使用符号链接(symbolic link)在 Mac OS 中使用 emacs

macos - 在 MAC OS X 中将静态库的符号隐藏在动态库中?

arrays - 为什么我不能访问以寄存器作为偏移量的数组?

ios - 在 ios 上调用 dlopen

macos - Xcode 4、dylib 和 install_name_tool

macos - brew 找不到任何包

macos - Mac 下卸载 sshfs 挂载的目录

使用 -static 编译 C 程序时找不到共享库