読者です 読者をやめる 読者になる 読者になる

openFrameworksをコマンドラインから使う

新しいMacBook Pro Retina (13インチ)を購入したのでちょっとずつ設定中です。

今回はメモ代わりにMacWindowsそれぞれの環境で、openFrameworksコマンドライン上でコンパイル・実行する方法を書きたいと思います。

MacのターミナルからopenFrameworksを使う

まずMacのターミナルでopenFrameworksをコンパイル・実行する方法を紹介します。

openFramewokrsのコンパイル

最初にopenFrameworksのソースコードを入手します。

残念ながら現在リリースされているopenFrameworks 0.8.4は最新のXcodeに対応していないため、openFrameworksをコピーしたいディレクトリに移動して、次のコマンドでgithubのmasterブランチから最新版のコードを取得します。

git clone https://github.com/openframeworks/openFrameworks.git

コマンドラインデベロッパツールのインストールが必要というダイアログが表示された場合は、併せてインストールしてください。

f:id:tkitao:20150322104009p:plain

ソースコードの取得が終わったら、openFrameworks/libs/openFrameworksCompiled/project/ディレクトリに移動し、makeコマンドでopenFrameworksをコンパイルします。

make

ターミナルにDone!と表示されたらコンパイル完了です。

サンプルの実行

続いてサンプルを実行します。

まずは適当なサンプルのディレクトリに移動します。今回はopenFrameworks/examples/3d/3DPrimitivesExampleにしてみます。

次に以下のコマンドでmakefileCommonディレクトリのサンプル用Makefileをコピーします。

cp ../../../libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples Makefile

後はmakeコマンドでサンプルをコンパイルして、make runするとサンプルが動作します。

f:id:tkitao:20150322112218p:plain

make Debugmake RunDebugデバッグ版のコンパイルと実行も可能です。

なお、サンプルディレクトリの位置を移動させる場合は、Makefile内のOF_ROOTで指定されている、openFrameworksディレクトリへの相対パスを書き換える必要があります。

WindowsのターミナルからopenFrameworksを使う

続いてWindowsのターミナルからopenFrameworksをコンパイル・実行する方法を紹介します。

openFrameworksのコンパイル

まずコンパイルに必要なgitコマンドとopenFrameworks用のコンパイル環境であるofMinGWを入手します。

次に、展開したofMinGWのofMinGW.batを実行してターミナルを立ち上げ、gitコマンドでソースコードを取得します。

git clone https://github.com/openframeworks/openFrameworks.git

ソースコードの取得が終わったら、openFrameworks/libs/openFrameworksCompiled/project/ディレクトリに移動し、makeコマンドにコンパイルオプションを指定してopenFrameworksをコンパイルします。

make PLATFORM_CFLAGS=-std=gnu++11

Done!と表示されたらコンパイル完了です。

サンプルの実行

続いてサンプルを実行します。引き続きofMinGW.batのターミナルを使用します。

適当なサンプルのディレクトリに移動し、以下のコマンドでmakefileCommonディレクトリのサンプル用Makefileをコピーします。

cp ../../../libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples Makefile

後は、コンパイルオプションを指定したmakeコマンドでサンプルをコンパイルして、

make PLATFORM_CFLAGS=-std=gnu++11

make runするとサンプルが動作します。

尚、コンパイル時に毎回PLATFORM_CFLAGSを指定するのが面倒な場合は、 openFrameworks\libs\openFrameworksCompiled\project\win_cb\config.win_cb.default.mkの中に直接PLATFORM_CFLAGS += -std=gnu++11を追記するとオプション指定を省略できます。(こちらのやり方のほうが素直かもしれません)