私の Cocoa アプリケーションでは、コマンド ラインでコンパイルされ、カスタムの場所で利用できるサード パーティの C ライブラリを使用しています。
私の Xcode プロジェクトでは、ライブラリのヘッダー ファイルが配置されている場所と、リンク中にライブラリが参照される場所を定義できます。
ヘッダー ファイルの場所 ( HEADER_SEARCH_PATHS
):
Target > Build Settings > Search Paths > Header Search Paths
リンク中のライブラリの場所 ( LIBRARY_SEARCH_PATHS
):
Target > Build Settings > Search Paths > Library Search Paths
しかし、ライブラリの実行時の場所を定義するにはどうすればよいですか? Xcode で Cocoa アプリケーションを実行すると ( cmd-r
)、動的リンカーからエラーが発生します。
dyld: Library not loaded: /usr/local/lib/libfoo.1.dylib
Reason: image not found
ディレクトリ/usr/local/lib
とライブラリへのシンボリックリンクを作成すると、アプリケーションは問題なく実行されます。
man dydl
関連する 3 つの環境変数について説明します。
DYLD_LIBRARY_PATH
DYLD_FALLBACK_FRAMEWORK_PATH
DYLD_FALLBACK_LIBRARY_PATH
bash 端末で変数を設定する方法は知っていますが (たとえば、Mac OS X で DYLD_LIBRARY_PATH を設定する場所はどこですか? を参照してください)、Xcode の環境変数を設定するにはどうすればよいですか?
OS X 10.8.x と Xcode 4.5.x を実行しています。