7

我需要用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

4

1 回答 1

10

问题出在您的二进制文件中,而不是库中。按照警告的建议去做。添加-headerpad_max_install_names到用于链接二进制文件的 ld 标志。如果您使用的是 Xcode,您可以将它放在目标的 Other Linker Flags 构建设置中。

于 2015-12-09T02:55:53.233 回答