動的ライブラリとしてコンパイルしているプロジェクトのコレクションがあります。これらの .dylib のそれぞれは、他のさまざまなディレクトリ (実行可能パスにあるもの、ローダー パスにあるもの、固定パスにあるもの) に配置したい他のさまざまな .dylib に依存しています。
コンパイルされたライブラリで実行するotool -L
と、それらの依存関係へのパスのリストが表示されますが、それらのパスがどのように設定/決定されているかはわかっています。それらはほとんど疑似ランダムに見えます。これらのパス(@rpath、@executable_path、@loader_pathなど)を変更しようとするために、Xcodeの「ビルド設定」をいじって何時間も費やしましたが、何も変更できないようです(実行で確認otool -L
) . これらのフラグをどこに追加すればよいか完全にはわかりません。また、次のフラグの違いや適切な使用方法もよくわかりません。
リンク - 「動的ライブラリ インストール名」
リンク - 「実行パス検索パス」
リンク - 「その他のリンク フラグ」
検索パス - 「ライブラリ検索パス」
さまざまなライブラリで実行するinstall_name_tool -change
と、実行パスの検索パスを正常に変更できます (実行otool -L
して確認したとおり)。
私は Xcode 4.2 を実行していますが、ほとんどあきらめて、install_tool_name を実行するビルド後のスクリプトを使用して変更を加えています。しかし、それはクラッジハックの修正であり、私はそれをしたくない.
dylib 依存関係の検索/実行パスがどのように設定されているかはどこで確認できますか?
私が間違っているかもしれないことについて誰にもアイデアがありますか?