openFrameworksに興味を持ち、ダウンロードを行い、早速試しに何かビルドしようとすると下記のエラーが。
ld: file not found: /usr/lib/libstdc++.6.dylib for architecture x86_64
まだ普通にダウンロードだけしかしてないのになんでだろうと思いつつ、色々調べてみると、openFrameworksのフォーラムでもこのトピックが多く参照されているようでした。日本語でもまとめてくれている方がいて、感謝。
openFrameworks Forum: https://forum.openframeworks.cc/t/building-in-macos-11-0-big-sur/36581/38
Qiita: https://qiita.com/kojikanao/items/d74470709761a9b13dd4
解決としては下記のステップをふむとのこと。
- libfmodex.dylibを最新版に入れ替える
- RunScriptを最新に変更する
上記を読んでも、恥ずかしながら具体的なやり方がわからず、質問してようやくビルドできるようになったので、自分が学んだことをメモしようと思います。
libfmodex.dylibを最新版に入れ替える
1. libfmodex.dylibを最新版に入れ替える
まずは下記から該当ファイルをダウンロードします。
libfmodex.dylib
https://forum.openframeworks.cc/uploads/short-url/xYYPPDoARUoUJR6w6vPh0JW1c4A.zip
zipを回答すると下記のようなファイルが出てきます。
このファイルを以前の「libs/fmodex/lib/osx/」に入れ替えてねとのこと。ここでつまづいたのですが、単純にFinderでlibs > fmodex > lib > osxの順でファイルをクリックして、解凍したファイルを置き換えればOKでした。
2. RunScriptを最新に変更する
2.RunScriptを最新に変更する
libfmodex.dylibを入れ替えたら、次は build phaseのRun Script (ケツから2番目)に変更を加えます。
install_name_tool -change @ executable_path/libfmodex.dylib @executable_path/../Frameworks/libfmodex.dylib "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME";
から
install_name_tool -change @rpath/libfmod.dylib @executable_path/../Frameworks/libfmodex.dylib "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME";
へ。(写真の六行目の部分)
これで変更は完了です。
これで、無事にビルドされると思います。