Saya tahu bahwa ada perintah yang mencantumkan saya lib dan versi yang terkait dengan perangkat lunak.
Sesuatu dengan ld atau libtool?
Tapi saya tidak ingat. Menghabiskan waktu di google tetapi tidak menghasilkan sesuatu yang berguna.
Pembaruan
ldd <binary>
akan membantu di linux, ( dari @ Ernelli ) sementara saya menemukan bahwa otool -L <binary>
melakukan sesuatu yang serupa pada MacOS X.
linux
macos
shared-libraries
er4z0r
sumber
sumber
Jawaban:
Coba ldd binary-exec
Contoh:
sumber
Untuk menemukan apa yang dibutuhkan secara langsung:
ldd
seperti yang disebutkan di tempat lain akan menunjukkan semua lib langsung dan tidak langsung - semua yang dibutuhkan saat runtime. Ini mungkin bukan daftar lengkap, karena Anda mungkin secara dinamis membuka hal-hal dengan dlopen (), tetapi ini harus bekerja 99% dari waktu.ld dan libtool digunakan pada waktu kompilasi / tautan. Mereka tidak berguna setelah Anda memiliki aplikasi.
EDIT Saya dapat melihat jawaban nanti yang Anda tanyakan tentang OSX, tetapi saya ingin menambahkan jawaban saya di perangkat Linux:
Satu hal yang saya lupa sebutkan, beberapa waktu yang lalu; Anda bertanya tentang versi. Juga
ldd
tidakreadelf
akan menjawab pertanyaan "versi apa". Mereka akan memberi tahu Anda nama file perpustakaan yang Anda cari, dan konvensi penamaan mungkin memiliki beberapa info versi, tetapi tidak ada yang memberlakukan ini. Simbol mungkin versi, dan Anda harus lebih banyak tentang tingkat yang lebih rendahnm
untuk melihatnya,sumber
Cara lain adalah dengan menggunakan objdump.
Ini menunjukkan semua dependensi yang diperlukan hanya untuk biner ini. Sangat berguna.
sumber