Как я могу определить информацию о версии .dylib на OS X?


Ответы:


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. Есть 2 способа приобрести 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.