Mac

dyld: Library not loaded

More than 1 year has passed since last update.

Macでappを配布するとき、このエラーが出てちょっと困ったのでメモ。
結論から言えば、動的リンクライブラリが絶対パスで指定されていたのが原因だった。

otool -L binfile

で依存関係を調べて

install_name_tool -change old_path new_path binfile

でそのパスを変更できる。

install_name_tool -change /System/Library/Frameworks/OpenAL.framework/Versions/A/OpenAL @executable_path/../Frameworks/OpenAL.framework/Versions/A/OpenAL Birth

Macの場合は@executable_pathというキーワードが、実行ファイルの含まれるディレクトリに置換されるらしい。