Мне трудно понять абсолютный путь, на который ссылается @loader_path
в файле.
[email protected]:~$ 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/ Эта переменная заменяется на путь к каталогу, содержащему двоичный файл mach-o, который содержит команду load, используя путь @loader_path. Таким образом, в каждом двоичном файле путь @loader_path переходит на другой путь
Я бы предположил, что это означает, что @loader_path - это просто путь к объектно файлу (zlib.so
), но это не кажется истинным.
Есть ли какая-либо утилита командной строки, которая будет разрешать путь @loader_path к фактическому пути, который используется при попытке открыть библиотеку?