soraなりの日々 - fc2 -

こころにひっかかったもの

[iphone, c++, cinder] あなたのコードをクリエイティブにする1つの方法

ども、ご無沙汰してます。
運動してもちっとも痩せず困ってしまうお年頃なのに
そろそろ誕生日迎えてまたお年を取ってしまう今日この頃です。

このエントリーをはてなブックマークに追加
今週、 c++ なバイナリアンな人なら無視できない記事を見つけちゃいました。

[クリエイティブなC++ライブラリ “Cinder” の紹介]
http://research.preferred.jp/2010/11/cinder-intro/

おかげで時間も忘れ、久しぶりに c++ を堪能しております。
@nejigane さんに感謝です!

サイトにあるギャラリー:

Rembrandt Peale, portrait of Rubens Peale from flight404 on Vimeo.



良いです!カッコイイです!!好きです!!!

さて、そんな Cinder とは、、ですが
@nejigane さんも書かれている通り

> Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、
> 主にビジュアルデザイン向けの強力なC++ライブラリであり、
> The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして
> 開発が進められています。
>
> 同様の思想を持つProcessingやopenFrameworksによく似ており、
> C++で簡単に記述できるうえ、Windows、MacOSX、iOS(iPhone/iPad)といった
> 複数のプラットフォームをカバーしています。

だそうです。
あー、その昔 processing で少し遊んだなー(遠い目。。。
c++ だと言う事に加え、iPhone に対応してるってのを見て、
俄然やる気が出まくった事は言うまでもありません(^^;


は、置いといて先に進みましょう。
紹介されているサイトで書かれている通り、パワフルで且つ、なんとも
クリエイティブな Cinder ですが、ちとインストールしてから実際に開発が
出来るようになるまでを今回紹介できればと思います。
(※ mac での構築方法です。
でもほとんどが boost 絡みなので windows でも
問題ないかなと)



Cinder

まずは、Cinder を落としてきましょう。
Cinder のサイトからか、または github からどちらからでも!

http://libcinder.org/download/

自分は git インストールしてるんで github から入れました

$ git clone git://github.com/cinder/Cinder.git


boost

boost です。
Cinder は boost を内部で使ってます。
今後のためにも boost を一から入れてみましょう。

まずは boost を下記よりダウンロード。

http://www.boost.org/users/download/

"boost_1_45_0.tar.gz" をダウンロードしてください。

まずは mac に boost を入れてみましょう。
解凍して出来たディレクトリに入り、下記のコマンドを実行してください。
(ここでとんでもなく時間かかるので、まーコーヒーでも
自分はこのブログ書いてます(^^;)

$ ./bootstrap.sh
$ ./bjam

ビルドが終わったら、あなたの mac でも boost が使えるようになってると思います。
で、これを Cinder から使えるようにします。

解凍してできた "boost_1_45_0" のディレクトリを最初に落としてきた Cinder の
ディレクトリ直下に "boost" としてコピーします。
そして、移動します。

$ cd Cinder/boost

以下のコマンドを実行して mac 用の boost ライブラリを作成します。

$ ./bjam --toolset=darwin --link=static --with-filesystem --with-date_time --with-thread architecture=x86 address-model=32_64 macosx-version=10.6 macosx-version-min=10.5 cflags=-fvisibility-inlines-hidden stage 
(※ 64 bit に対応するため、address-model=32_64 としています
32 bit のみだと、address-model=32 でコマンドを実行します)

で、出来上がったライブラリを移動させます。

$ cp stage/lib/*.a ../lib/macosx



boost:iPhone

次に iPhone のデバイス用とシミュレータ用も作るため、
tools/build/v2/user-config.jam に以下を追加します。

$ vim tools/build/v2/user-config.jam

using darwin : 4.2.1~iphone
:/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++ -arch armv7
: <striper>
: <architecture>arm <target-os>iphone
;

using darwin : 4.2.1~iphonesim
:/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++
: <striper>
: <architecture>x86 <target-os>iphone
;

 そして、iPhone Device 用を作成してコピーします。

$ ./bjam --toolset=darwin --link=static --with-filesystem --with-date_time --with-thread architecture=arm target-os=iphone macosx-version=iphone-4.1 stage
$ cp stage/lib/*.a ../lib/ios

 次に iPhone Simulator 用を作成します。

$ ./bjam --toolset=darwin --link=static --with-filesystem --with-date_time --with-thread architecture=x86 target-os=iphone macosx-version=iphonesim-4.1 stage
$ cp stage/lib/*.a ../lib/ios-sim

 これで、boost の作業は終わりです。
 おつかれさまでした。
 これら上記の一連のやり方は、Cinder のサイトにも記載してあります。

 http://libcinder.org/docs/v0.8.2/_cinder_boost.html


再び Cinder

 これで全ての準備が整いました。
 Cinder 自体をビルドして、Cinder の世界に行っちゃいましょう!

$ cd xcode
$ ./fullbuild.sh


実行

 さて、実行してみましょう。
 まずは、mac のアプリを作成します。
 Cinder のディレクトリ直下にある "tools" 内の "TinderBox" を起動します。
 この時、Cinder のパスを聞かれるので設定してあげてください。

 プロジェクト名を "Test" で作成します。

 cinder01 

 出来上がったプロジェクトの "xcode" ディレクトリからプロジェクトの xcode を起動します。
 Cinder のパスが通ってるか確認してください。
 プロジェクトの設定画面で "CINDER_PATH" の部分が設定されているかを確認します。

 cinder02 

 そのまま実行。

 cinder03 

 いろいろと考えさせられる真っ黒な画面が作成されました。
 と、実行出来るのは確認できたので、次にいきます。

 次は iPhone です。
 同じく "TinderBox" から今度は "Cocoa Touch" で作成します。
 プロジェクト名は "iTest" としました。

 cinder_iphone01 

 実行。

 cinder_iphone02 

 おっと!デフォルトでも iPhone のが豪華ですね!
 そして、みんなが気になる。
 デバイスへの転送!

 cinder_iphone03 

 なんなく出来ました。

 さ、そんな Cinder。
 チュートリアルは、ここから始められますので
 みんな勉強してカッチョいいアプリ作っちゃおーぜぃ!!

 http://libcinder.org/docs/v0.8.2/hello_cinder_chapter1.html


最後に

 いやー、楽しいです。

 やっぱり c++ ですね!

 買ってから手を付けれてない"プログラミングの魔導書"も俄然やる気が出てきました!!

 Cinder を使って新しい iPhone のアプリとか出来たらな、と思う今日この頃です。

 この記事の反応が良ければ、福岡ででも "Cinder" のコミュニティを立ち上げようかと思います!
 って、某会社の某同僚の記事を真似て終わります(^^;



このエントリーをはてなブックマークに追加

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://sora2hs.blog70.fc2.com/tb.php/514-8673c77f
この記事にトラックバックする(FC2ブログユーザー)