libXX.so
ヘッダーYYY.hから関数などが含まれているファイルを見つけるためのマニュアルや方法はありますか?
例えば:
関数foofunk()を含むヘッダーfoo.hを含めます。しかし、リンカはfoofunk()への未定義の参照を言います。
ノート:
ビルドとリンクのプロセスにMakefileを使用したいと思います。(GCC)そして私の情報源はCですが、それは重要ではないはずです。
objdumpを使用します。
objdump -T library.so | grep ' Base ' | grep ' function_name$'
次に、特定の関数を定義していると思われる共有ライブラリをループし、objdumpを使用して各ライブラリを確認します。
for f in /usr/lib/lib*.so; do \
objdump -T $f | grep ' Base ' | grep -q ' function_name$' && echo $f && break
done
break
探しているライブラリが見つかったにもかかわらず検索を続行する場合は、削除してください。
静的ライブラリの場合は、の1つに置き換え-T
て削除します。-t
grep
objdump -t library.a | grep ' function_name$'