LoginSignup
22
18

More than 5 years have passed since last update.

ofxCef のビルド手順

Last updated at Posted at 2015-08-22

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 を作る

22
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
18