如何在OS X上确定.dylib的版本信息?


11

在使用GUI或CLI工具的OS X中,如何找到给定dylib的版本信息?

Answers:


9

您可以使用 otool/usr/bin/otool )查看Mach-O目标文件使用的共享库的名称和版本号。

MacPro:~ mdouma46$ otool -L /usr/lib/libssl.0.9.7.dylib 
/usr/lib/libssl.0.9.7.dylib:
  /usr/lib/libssl.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
  /usr/lib/libcrypto.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
  /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

MacPro:~ mdouma46$ otool -L /usr/lib/libssl.0.9.8.dylib 
/usr/lib/libssl.0.9.8.dylib:
  /usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 47.0.0)
  /usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 47.0.0)
  /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

MacPro:~ mdouma46$ otool -L /usr/lib/libgutenprint.2.dylib 
/usr/lib/libgutenprint.2.dylib:
  /usr/lib/libgutenprint.2.dylib (compatibility version 4.0.0, current version 4.0.0)
  /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
  /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

MacPro:~ mdouma46$ otool -L /usr/lib/libcurl.4.dylib 
/usr/lib/libcurl.4.dylib:
  /usr/lib/libcurl.4.dylib (compatibility version 7.0.0, current version 7.0.0)
  /usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 47.0.0)
  /usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 47.0.0)
  /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP (compatibility version 1.0.0, current version 2.4.0)
  /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos (compatibility version 5.0.0, current version 6.0.0)
  /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
  /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

它并不总是完美的,但如果你提供任何具体的案例,你可以想出来,我可以进一步提出建议。

不幸的是,它似乎 otool 不是默认安装的一部分,但可作为Xcode开发人员工具的命令行工具模块的一部分提供。有两种获取方式 otool

第一种方法可能是最简单的方法,但需要在100 MB的命令行工具之上下载价值1.5 GB的Xcode.app。这种方法可能的好处是可以帮助自动下载和安装命令行工具。第二种方式需要设置一个免费的开发者帐户(除非你已经有一个付费的帐户) https://developer.apple.com/programs/register/ (注意:选项1甚至可能需要这个,我不确定,因为我已经是付费会员),然后连接到 https://developer.apple.com/downloads/ 并从下载列表中下载适用于Xcode的命令行工具。

如果您走第一条路线,请在应用商店中获取Xcode https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12


谢谢!这似乎适用于.dylibs。我在/ opt / local / bin / ffmpeg上试了一下,但它没有给出ffmpeg本身的版本号。是否可以获取可执行文件的版本号? (一种通用解决方案,不使用某种命令参数,如 --version 等等是首选。)
HairOfTheDog
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.