Используя install_name_tool, что не так? - PullRequest
30 голосов
/ 06 июня 2010

Я пытаюсь изменить путь установки dylib после его сборки. Я использую otool -L, чтобы проверить текущий путь. И тогда я делаю:

$ install_name_tool -change /my/current/path/libmine.dylib \
    /my/new/path/libmine.dylib libmine.dylib

Я не получаю ошибку, но ничего не меняется. Если я проверю путь снова, старый все еще там. Кроме того, новый путь намного короче старого, поэтому проблем нет, и я думаю, что библиотека даже скомпилирована с дополнительным флагом для большего пространства файлового пути.

Есть идеи?

1 Ответ

52 голосов
/ 07 июня 2010

Страница man для install_name_tool говорит, что -change для зависимостей. Вы пытаетесь изменить название самой библиотеки.

Только что поэкспериментировав, я обнаружил, что не могу изменить имя dylib, которое появляется внутри самого dylib, но я мог изменить имена других зависимостей.

Поэкспериментировав больше: install_name_tool -id newname file добьется цели.

...