7

でファイルを再リンクする必要がありますinstall_name_tool。問題のファイルにより、dylib パスの 1 つを変更できましたが、2 つ目 (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 に答える