Edited at

ofxCef のビルド手順

More than 3 years have passed since last update.


ofxCef とは

CEF (Chromium Embedded Framework) を openFrameworks から使えるようアドオン化したもの。ざっくり言うと oF に Chrome を組み込めます。

作者は Zach 先生だけど実質 Dpt. の Hugues Bruyère 氏がメインコントリビュータの模様。

Web + ネイティブだと最近は Electron が有名ですが、あちらもベースは Chromium です。


何が嬉しいか

Chromium の資産がまるごと oF (C++) で使えます。


  • Canvas

  • WebGL

  • WebSocket


などなど。

また Google Maps や YouTube など C++ から使うのが難しかったコンテンツも埋め込めます。嬉しいですね!


ビルドする


環境


  • Xcode Version 6.4 (6E35b)

  • openFrameworks v0.8.4


1.ソース類をダウンロード

CEF をここから、ofxCef をここからダウンロードします。

CEF はいくつかリビジョンがありますが、今回は cef_binary_3.2171.1979_macosx32 を使います。oF が 32bit なので合わせます。

2015.08.23 追記

Brunch 2272 以降 Mac OS X 32bit のサポートは終了したそうです。

oF v0.9.0 以降は 64bit に対応するので Release Brunches から落としてきたほうがよさげです。


2.addons フォルダに配置

ofxCef を解凍して他のアドオンと同様に addons フォルダに置きます。

中身は以下の通り。


  • CEF


    • include ... CEF 本体のヘッダ群

    • lib ... ライブラリ類



  • src ... ofxCef のソース

  • example-ofxCEF ... サンプルプロジェクト

とりあえず example-ofxCEF に入っている Xcode プロジェクトを開くと example の他に cefHelper というターゲットがあるのがわかります。

スクリーンショット 2015-08-22 21.48.01.png

README を読むとまずこのヘルパーアプリをビルドしてねと書いてありますが、ビルドすると libcef_dll_wrapper が無いために下記のエラーが出ます。

ld: library not found for -lcef_dll_wrapper

clang: error: linker command failed with exit code 1 (use -v to see invocation)


3.libcef_dll_wrapper をリンクして cefHelper をビルド

ここでさっき落としてきた CEF 本体を使用します。

解凍し中した中にある cefclient.xcodeproj がを開くとターゲットに libcef_dll_wrapper があるので、これを指定してビルドします。

スクリーンショット 2015-08-22 22.06.55.png

cef_binary_3.2171.1979_macosx32/xcodebuild/Debug に libcef_dll_wrapper.a ができているので、これをさっきの cefHelper にリンクします。

スクリーンショット 2015-08-22 22.14.23.png

この状態で cefHelper のビルドをおこなうと無事成功するはず。


4.example のビルド

次にターゲットをexample-ofxCEF Debug に変更して、同じように libcef_dll_wrapper.a をリンクします。

ビルドして http://mrdoob.com/ が表示されれば成功です。おめでとうございます!

1.png


Next...

続編として projectGenerator を使用してイチから ofxCef なプロジェクトを作成する方法を書きます。

書きました -> ofxCef を使用した app を作る