Làm cách nào để xác định thông tin phiên bản của .dylib trên OS X?


12

Trong OS X sử dụng công cụ GUI hoặc CLI, làm cách nào tôi có thể tìm hiểu thông tin phiên bản của một dylib cụ thể?

Câu trả lời:


11

Bạn có thể sử dụng otool( /usr/bin/otool) để xem tên và số phiên bản của các thư viện dùng chung mà tệp đối tượng Mach-O sử dụng.

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)

Nó không phải lúc nào cũng hoàn hảo, nhưng nếu bạn cung cấp bất kỳ trường hợp cụ thể nào bạn đang cố gắng tìm hiểu, tôi có thể tư vấn thêm.

Thật không may, có vẻ như đó otoolkhông phải là một phần của cài đặt mặc định, nhưng có sẵn như là một phần của mô-đun Công cụ dòng lệnh của các công cụ dành cho nhà phát triển Xcode. Có 2 cách để có được otool:

Cách đầu tiên có thể là dễ nhất, nhưng sẽ yêu cầu tải xuống Xcode.app trị giá 1,5 GB trên 100 MB Công cụ dòng lệnh. Ưu điểm có thể có của phương pháp này là có thể giúp tự động hóa việc tải xuống và cài đặt các công cụ dòng lệnh. Cách thứ hai yêu cầu thiết lập tài khoản Nhà phát triển miễn phí (trừ khi bạn đã có tài khoản trả phí) tại https://developer.apple.com/programs/register/ (LƯU Ý: tùy chọn 1 thậm chí có thể yêu cầu điều này, tôi không chắc chắn, vì tôi đã là thành viên trả phí), sau đó kết nối với https://developer.apple.com/doads/ và tải xuống Công cụ dòng lệnh thích hợp cho Xcode từ danh sách tải xuống.

Nếu bạn đi tuyến đường đầu tiên, hãy lấy Xcode trong cửa hàng ứng dụng tại https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 .


Cảm ơn! Điều đó dường như làm việc cho .dylibs. Tôi đã thử nó trên / opt / local / bin / ffmpeg nhưng nó không cung cấp số phiên bản của chính ffmpeg. Có thể lấy số phiên bản cho một thực thi? (Một giải pháp chung chung mà không tận dụng một số loại tranh cãi lệnh như --versionhoặc tương tự sẽ được ưa thích.)
HairOfTheDog
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.