install_name_tool не может использовать изменение "потому что большие обновленные команды загрузки не подходят"
Мне нужно связать файл с install_name_tool
, Этот файл позволяет мне изменить один из путей dylib, но когда я изменяю второй (из 7), я получаю эту ошибку:
install_name_tool: changing install names or rpaths can't be redone for: some/library (for architecture i386) because larger updated load commands do not fit (the program must be relinked, and you may need to use -headerpad or -headerpad_max_install_names)
После поисков я обнаружил, что просто недостаточно места для новых путей в файле, и что я мог бы использовать ld
инструмент или libtool
чтобы исправить это. Однако я не могу понять, как. У меня нет исходного кода для этой библиотеки, поэтому я не могу перекомпилировать его.
Могу ли я обновить все пути dylib для этого файла? Любая помощь будет очень высоко ценится!
Я на OSX 10.10 Я использую команду: install_name_tool -change old/dylib/path.dylib new/dylib/path.dylib file/to/update
1 ответ
Проблема в вашем бинарном файле, а не в библиотеках. Делайте то, что предлагает предупреждение. добавлять -headerpad_max_install_names
на флаги ld, используемые для связи вашего двоичного файла. Если вы используете XCode, вы можете включить его в настройку сборки Other Linker Flags вашей цели.