मैं ओएस एक्स पर -dylib के संस्करण की जानकारी कैसे निर्धारित कर सकता हूं?


12

ओएस एक्स में या तो जीयूआई या सीएलआई टूल का उपयोग करके मैं किसी दिए गए डायलिब के संस्करण की जानकारी कैसे पा सकता हूं?

जवाबों:


11

आप साझा किए गए पुस्तकालयों के नाम और संस्करण संख्या को देखने के लिए otool( /usr/bin/otool) का उपयोग कर सकते हैं जो एक माच-ओ ऑब्जेक्ट फ़ाइल का उपयोग करता है।

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:

पहला तरीका सबसे आसान हो सकता है, लेकिन कमांड लाइन टूल्स के 100 एमबी के शीर्ष पर Xcode.app के 1.5 जीबी मूल्य के डाउनलोड की आवश्यकता होगी। इस पद्धति का संभावित उल्टा तरीका यह है कि कमांड लाइन टूल के डाउनलोड और इंस्टॉल को स्वचालित करने में मदद मिल सकती है। दूसरे तरीके के लिए https://developer.apple.com/programs/register/ पर एक निशुल्क डेवलपर खाता (जब तक आपके पास पहले से कोई भुगतान नहीं है) सेट करने की आवश्यकता होती है (नोट: विकल्प 1 को भी इसकी आवश्यकता हो सकती है, मुझे यकीन नहीं है; जैसा कि मैं पहले से ही एक भुगतान किया गया सदस्य हूं), फिर https://developer.apple.com/downloads/ से कनेक्ट करें और डाउनलोड की सूची से Xcode के लिए उपयुक्त कमांड लाइन टूल डाउनलोड करें।

यदि आप पहले मार्ग पर जाते हैं, तो ऐप स्टोर में https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 पर Xcode प्राप्त करें


धन्यवाद! यह .llibs के लिए काम करता है। मैं इसे / ऑप्ट / स्थानीय / बिन / ffmpeg पर कोशिश की, लेकिन यह खुद ffmpeg का संस्करण संख्या नहीं देता है। क्या निष्पादन योग्य के लिए संस्करण संख्या प्राप्त करना संभव है? (एक सामान्य समाधान जो कुछ प्रकार के कमांड तर्क का उपयोग नहीं करता है --version, जैसे या पसंद किया जाएगा।)
HairOfTheDog
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.