Як я можу визначити інформацію про версію .dylib в OS X?


12

В OS X, використовуючи графічний інтерфейс або інструмент CLI, як я можу дізнатися інформацію про версію даного дилібу?

Відповіді:


11

Ви можете використовувати 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:

Перший спосіб, можливо, найпростіший, але зажадає завантаження Xcode.app вартістю 1,5 Гб поверх 100 Мб інструментів командного рядка. Можливий перебіг цього методу полягає в тому, що може допомогти автоматизувати завантаження та встановлення інструментів командного рядка. Другий спосіб вимагає створення безкоштовного облікового запису розробника (якщо ви вже не маєте платного) за адресою 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.