Mac OSX の dyld: Library not loaded を回避する
私製ソフトをその Mac OSXだけで動かすならいいんですが、配布するとなると、ライブラリファイルのことを考えなきゃいけないのでした|・ω・)
この辺りは Windows の Runtimeと同じみたいですね
dyld: Library not loaded: /usr/local/lib/うにょうにょ.dylib Referenced from: /usr/local/lib/うにょうにょ.dylib Reason: image not found
なんてエラーが出てきて困りました
まず、配布するDYLD(DYnamic LoaDer の略)をターゲットライブラリパスにインストールします。
次に、~/.bash_profile に以下を追記します
if [ -n "$DYLD_LIBRARY_PATH" ]; then DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib else DYLD_LIBRARY_PATH=/usr/local/lib fi export DYLD_LIBRARY_PATH |
水色が自分で用意したライブラリを入れるPathです
これで、ターミナルを再起動すれば実行できるようになります。
printenv で環境変数に代入されていればOK
DYLD_LIBRARY_PATHが存在すれば 元のDYLD_LIBRARY_PATH に ":" で区切ってパス追加。
なければ新規作成 というシェルスクリプトです
「存在しなければ」なので、ライブラリパスの検索順位の後ろにしておくのがコツです|・ω・)
バージョンが違うモジュールがあれば、動かなくなるソフトもありますから、個別設定する必要があるケースもあるかもしれませんね。
Comments