はじめに
この記事はopenFrameworksのアドオン開発で躓いたことを中心に開発を説明していきます。
自分の使っているバージョンのせいかそもそもopenFrameworksがVisual Studio 2019でした。
目標
独自のアドオンを作り、ビルドが通ること。
前提環境
Visual Studio 2022
openFrameworks 0.12.0
openFrameworksをDLする
次のリンクからzipファイルをDLしてください。
https://openframeworks.cc/ja/download/
Visual Studioを使って開発をするので、以下の「Visual Studio」をクリックしてDLすれば大丈夫です。
プロジェクトを作る
まずはprojectGeneratorでVisual Studioプロジェクトを作ります。
以下にあるファイルを実行します。
<root>/projectGenerator/projectGenerator.exe
※はopenFrameworksのルートフォルダです。INSTALL.mdファイルがあるフォルダです。
次のようなウィンドウが表示されます。Addonsはひとまず空のままでGenerateを選択します。
注意:
もう一度このソフトを使う機会があるためウィンドウは閉じないことを推奨します。
閉じてしまった場合には上記のGenerateの際に指定したパラメータを再度入力すれば問題ないです。
自作のaddonを作ってみる
以下のフォルダにアドオン名でフォルダを作ります。
一般的に「ofx」を先頭につけるルールがあります。
<root>/addons/
今回はofxBaseという名前にしました。
アドオンの設定ファイルをつくる
以下のファイルを作ります。
<addon_root>/addon_config.mk
※は上記で作ったアドオンフォルダです。
次のように記載します。「ADDON_NAME」にはフォルダ名を指定します。
別の名前を付けられますが、混乱を避けるためにも同じにすることを推奨します。
meta:
ADDON_NAME = ofxBase
common:
# ADDON_DEPENDENCIES = ○○
「ADDON_DEPENDENCIES」は他のアドオンを指定することでそのアドオンの機能を使えるようになります。
ソースコードを配置する
openFrameworksでは一般的にsrcフォルダにコードを置く習慣があります。
またサードパーティのコードやライブラリはlibsフォルダに置くのが一般的なようです。
今回はサンプルコードを以下のように配置しました。
<addon_root>/src/sample.h
プロジェクトにアドオンを追加する
以下のようにAddonsに今回作ったアドオンを指定します。
設定がうまくいっていれば予測変換に出てくるはずです。
Updateボタンを押して再生成します。
Visual Studioのプロジェクト設定を修正する
このままだとVisual Studio 2019向けの設定になっており、ビルド時にパスの問題などでエラーが出る場合があります。
おそらく更新したプロジェクトを開くと(Visual Studio 2019)がプロジェクト名についていると思います。
(開発中のプロジェクトなためプロジェクト名が違います)
このままプロジェクトをビルドすると次のようなエラーが出ます。
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Msbuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(992,5): error MSB3191: ディレクトリ "E:\NodeEditor\obj\x64\Debug\Build\E:\of_v0.12.0_vs_release\addons\ofxGui\src\Debug" を作成できません。指定されたパスのフォーマットはサポートされていません。
そこでプロジェクトをVisual Studio 2022ように設定を修正します。
画像のように「構成プロパティ」→「全般」にある「プラットフォームツールセット」を「Visual Studio 2022 (v143)」に変更します。
これでビルドが成功するはずです。
以降の開発は先ほど作ったソースコードのフォルダにファイルを追加していけば問題ありません。
注意:
ファイルを追加・削除した場合、必ずprojectGeneratorでプロジェクトを再生成してください!
最後に
かなり簡略化した説明でしたが参考になれば幸いです。