Help us understand the problem. What is going on with this article?

openFrameworksのboostを最新版にする

More than 5 years have passed since last update.

openFrameworksに含まれるboostは1.0.0と古く、Asioといった便利なライブラリが使えない。
そこで、boostを最新版(執筆時1.59.0)にアップデートする方法をメモする。

環境は次の通り。

  • OSX 10.11.1
  • openFrameworks 0.9.0

boostをダウンロードする

http://www.boost.org ここから最新版をダウンロードする。

boostをビルドする

次のコマンドでboostをビルドする。
ポイントとしては、static libraryを出力するように指定するところ。

$ ./bootstrap.sh --prefix=path/to/installation/prefix
$ ./b2 install -j 5 link=static

出力されたヘッダファイルとstatic library(.aファイル)をopenFrameworksのlibsディレクトリ以下のboostが入っているフォルダへコピーする。
具体的には$(OF_PATH)/libs/boost/includeにヘッダを、$(OF_PATH)/libs/boost/lib/osxにstatic libraryをコピーする。

Xcodeの設定を変更する

XcodeのBuild Settingsから、$LIB_BOOST_FS$LIB_BOOST_SYSTEMを次のように変更する。

  • $(OF_PATH)/libs/boost/lib/osx/boost_filesystem.a$(OF_PATH)/libs/boost/lib/osx/libboost_filesystem.a
  • $(OF_PATH)/libs/boost/lib/osx/boost_system.a$(OF_PATH)/libs/boost/lib/osx/libboost_system.a

boost/regixなどは適宜other linker flagにパスを追加する。

Deployment targetを変更する

XcodeのGeneralからDeployment target を10.11に変更する。

終わり

これでビルドできるようになっているはず。
ただ、もともと使われているboostの参照先を直接変更しているため、openFrameworksの挙動全てに影響が出る可能性がある。

プロジェクトをアップデートするとXcodeの設定しなおしになるので注意。
($OF_PATH)/libs/openFrameworksCompiled/project/osx/CoreOF.xcconfigを修正することで設定しなおさなくても住むようになる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away