@loader_path
ファイル内の a が参照する絶対パスを理解するのに苦労しています。
user@local:~$ otool -L zlib.so
zlib.so:
@loader_path/../../libz.1.dylib (compatibility version 1.0.0, current version 1.2.7)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
システムが libz.1.dylib を見つけるためにどこを見ているのか知りたいです。
いくつかのMac ドキュメントから:
@loader_path/ この変数は、@loader_path を使用したロード コマンドを含む mach-o バイナリを含むディレクトリへのパスに置き換えられます。したがって、すべてのバイナリで、 @loader_path は異なるパスに解決されます
これは、@loader_path がオブジェクト ファイル ( zlib.so
) への単なるパスであることを意味すると推測していましたが、そうではないようです。
ライブラリを開こうとするときに使用される実際のパスに @loader_path を解決するコマンド ライン ユーティリティはありますか?