1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

macosでopenFrameworksのProjectGeneratorをビルドする

Last updated at Posted at 2019-12-10

openFrameworks 0.11.0がリリースされましたね!
公式にVSCodeサポートが追加されて、MacでもWindowsでも嬉しいアップデートになったんじゃないかと思います。

さて、公式サイトのdownloadページにあるリリース版のoFをダウンロードして使ってる方はすんなり新バージョンのPGが使えたと思いますが、GitHubからoFをcloneして使っている方だと、これまでの方法でビルドするといざプロジェクトを作ろうとしたときにエラーを吐くようになってしまっているのではないかと思います。

(これまでの方法とはこれのつもり)

git submodule update --init
cd apps/projectGenerator/frontend
npm install
npm run build:osx

この記事では、macos上でちゃんと使えるoF0.11.0時代のProjectGeneratorをビルドする方法を紹介します。

前提

いきなりアレですが、特に興味や必要がない人はリリース版のzipをDLして、PGだけコピーしてきてください。

環境

macos 10.14.6
oF(tag 0.11.0) b674f7ec1
PG(記事執筆時点での最新版) 5f9f625

TL;DR

  • submoduleがupdate済みであること(ProjectGeneratorがOF_ROOT/apps/projectGeneratorにclone済みであること)
  • OF_ROOT/scripts/osx/download_libs.shが実行済みであること
  • OF_ROOT/libs/openFrameworksCompiled/lib/osx/openFrameworks.aが存在すること
  • OF_ROOT/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.aが存在すること

を確認のうえ下記を実行
OF_ROOTは環境によって変えてください_

cd OF_ROOT
wget https://gist.githubusercontent.com/nariakiiwatani/f3f18a0587f214c4ec5c8c889d51edda/raw/a25e785d7622f895b2122a3c01a3299cbc3237f6/BuildPG.sh
chmod +x BuildPG.sh
./BuildPG.sh
rm BuildPG.sh

(要はちょっと編集したBuildPG.shを実行するだけです)

これ以下は検証時の四方山話

projectGenerator/scripts/osx/BuildPG.sh というファイルがあります。
これを叩くとビルドできるのかと思いきや、エラーが出ます。
ちなみにreadmeにはないので、こいつが果たして直接叩くことを想定されてるスクリプトなのかは謎です。

cd ProjectGenerator
scripts/osx/BuildPG.sh
clang: error: no such file or directory: 'ほにゃほにゃ/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a'
Command Ld failed with a nonzero exit code

スクリプトの中を見ると、PGのコマンドライン版をリリースビルドしようとしているようなので、なんでデバッグ版のライブラリが求められてるのかわかりませんがとにかくこれで失敗します。
commandLine/commandLine.xcodeprojをXcodeからビルドしようとしても同じエラーが起こるので、多分Dependencyの設定まわりのバグ?という気がします。(Issue建てました)

で、適当なプロジェクトをビルドするとかしてopenFrameworksDebug.aを作って、参照されてるパスにコピーして再度実行しようとしてもやっぱりダメでした。
どうやらBuildPG.sh内で毎回新たにoFをGitHubからcloneしてくるようになっているようで、それが原因のようです。

ということで、いちいちcloneさせずにすでにあるoFを使うように修正したものがTL;DRに書いたものです。

以上!

あとはこの記事を参照してoF on VSCodeライフを楽しんでください。
VSCodeでビルドできるプロジェクトがサクッと作れるのは本当に嬉しい。
あと地味だけどmain.cppをGLのバージョンだとかno windowだとかで指定できて作り変えてくれるのも地味に便利そう。必要になるたびに毎回ググってたので・・・。

ちなみに、

  • オプションではEmscriptenが選べるけど未対応っぽい?普通にXcodeのmacアプリをビルドするプロジェクトが作られた。
  • Git Ignoreという選択肢もあるけどなんなんだろう・・・。これも普通にXcodeのプロジェクトが作られた。
1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?