Bagaimana saya bisa menentukan info versi .dylib di OS X?

12

Di OS X baik menggunakan alat GUI atau CLI bagaimana saya bisa mengetahui info versi dari dylib yang diberikan?

Bulu anjing
sumber

Jawaban:

11

Anda bisa menggunakan otool( /usr/bin/otool) untuk melihat nama dan nomor versi dari pustaka bersama yang digunakan oleh file objek 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)

Ini tidak selalu sempurna, tetapi jika Anda memberikan kasus spesifik yang Anda cari tahu, saya bisa memberi saran lebih lanjut.

Sayangnya, tampaknya itu otoolbukan bagian dari pemasangan default, tetapi tersedia sebagai bagian dari modul Alat Baris Perintah pada alat pengembang Xcode. Ada 2 cara untuk memperoleh otool:

Cara pertama mungkin paling mudah, tetapi akan membutuhkan mengunduh Xcode.app senilai 1,5 GB di atas 100 MB Alat Baris Perintah. Kemungkinan terbalik dari metode ini adalah yang dapat membantu mengotomatiskan pengunduhan dan pemasangan alat-alat baris perintah. Cara kedua membutuhkan pengaturan akun Pengembang gratis (kecuali Anda sudah memiliki yang dibayar) di https://developer.apple.com/programs/register/ (CATATAN: opsi 1 bahkan mungkin memerlukan ini, saya tidak yakin, karena saya sudah menjadi anggota berbayar), kemudian sambungkan ke https://developer.apple.com/downloads/ dan unduh Alat Baris Perintah yang sesuai untuk Xcode dari daftar unduhan.

Jika Anda memilih rute pertama, dapatkan Xcode di app store di https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 .

NSGod
sumber
Terima kasih! Tampaknya berhasil untuk .dylibs. Saya mencobanya di / opt / local / bin / ffmpeg tetapi tidak memberikan nomor versi dari ffmpeg itu sendiri. Apakah mungkin untuk mendapatkan nomor versi untuk dieksekusi? (Solusi generik yang tidak menggunakan semacam argumen perintah seperti --versionatau sejenisnya akan lebih disukai.)
HairOfTheDog