20

@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 を解決するコマンド ライン ユーティリティはありますか?

4

1 に答える 1