2012-05-31 6 views
5

Prawdopodobnie nie znajduję właściwych słów wyszukiwania, ale nie mogę się dowiedzieć, jak uzyskać numer wersji statycznej (lub dynamicznej) biblioteki bez pisania programu . Z pewnością musi to być aplikacja unixowa (z odpowiednikiem na os x). (Wypróbowałem informacje o znalezisku i powiedział mi, że .a pliki są plikami do otwarcia przez wrangler tekstowy!).Jak znaleźć numer wersji libxxx.a

Dzięki.

Odpowiedz

4

Statyczna biblioteka to tylko archiwum plików obiektowych; nie ma niejawnego numeru wersji. Wiele bibliotek będzie miało wyraźny numer wersji, jakiś symbol taki jak FOO_VERSION_ z zawartością "1.2.3", ale oczywiście nie ma ogólnego sposobu na znalezienie takich symboli.

Dynamiczne biblioteki to inna historia. Mają dwa numery wersji: "current" i "compatibility". Zobacz stronę podręcznika dla otool, ale możesz łatwo sparsować dowolne dane z -l (w poleceniu LC_ID_DYLIB) lub -L (poszukaj własnej nazwy biblioteki).