popoponnponpopo’s blog

popoponnponpopo’s blog

第二の誕生

WinでoF(openFrameworks)をコマンドラインでコンパイルする環境を手に入れるまでにハマったことを書く

基本的には

msys2 | openFrameworks

ここの通りやれば動くようになったけど説明が若干意味分からないから書き足す。

 

■ダウンロード

  1. msys2をまずダウンロードする
  2. oFのmsys2のバージョンをダウンロードする
  3. oFはどっか好きなフォルダに入れる
  4. 完了

 

■インストール

  1. msys2をインストーラからインストールする(インストールフォルダはデフォのまま変えない。変えるとなんか依存関係が自力で変えなきゃいけなくなって初心者は終わるっぽい)
  2. 終わったらその流れでmsys2が開くはずなので、そのコマンドウィンドウで、cdコマンドでどうにかoFのフォルダの中の「scripts/msys2」フォルダに入る
  3. そこで「. install_dependencies.sh」と打ってエンター(↑のリンク先の説明のコマンドがおかしいのかなんなのかこうしたらやっといけた
  4. 次は「MSYS2 MinGW 32-bit(mingw32)」を開く(32bitのやつを開かないと駄目っぽかった。最初msys2のまんまやってた
  5. それで頑張ってcdコマンドでoFのフォルダの「libs/openFrameworksCompiled/project」のフォルダに移動する
  6. そこで「make」と打ってエンター
  7. 完了

 

■PATH通す

  1. cmdを開く(「ctrl + r」で出てくる画面で「cmd」と打ってエンターすれば出る)
  2. それで「setx PATH "%PATH%;your_msys2_directory\mingw32\bin;your_msys2_directory\usr\bin;"」のコマンドを打ってエンター(はてなブログ上ではなぜか改行挟んじゃってるけど改行してないので注意。コピペしてもらえれば改行してないってのが分かるはず。↑で一行です)
  3. 完了(この場合PATHは何に必要なのかはよくわからん)

 

■サンプルプロジェクト実行

  1. さっきの「MSYS2 MinGW 32-bit」で、cdコマンドでどうにかoFのフォルダの「examples/3d/3DPrimitivesExample」のフォルダに行く(「MSYS2 MinGW 32-bit(mingw32)」じゃないと駄目っぽかった
  2. そこで「make」と打ってエンター
  3. 処理が終わってエラーが出てなかったら「make run」と打ってエンター
  4. 完了

 

■自分のプロジェクトを作成&コンパイル&実行

  1. ともかく上記ダウンロード&インストール&PATH設定が終わったら、oFのフォルダの「apps/myApps」の中に自分でフォルダ作って(というかemptyExampleを毎回複製して)、「MSYS2 MinGW 32-bit(mingw32)」でそのフォルダの中に入って「make」とやって「make run」とやれば実行できると分かった(後はその中身のソースコードを自分でいじっていけばいい)
  2. はい完了

(oFは仕様によってプロジェクトの置き場に制限があるらしい。どこにでも適当に作っていいわけじゃなかったので注意。ここが自分が数年前最もハマってたところ。とにかく上で書いたフォルダの中でプロジェクトフォルダを作ればいいんだ。なんか2つ上の階層にlibフォルダがある位置が、oFの仕様的に「ちゃんとライブラリを読み込んでくれる位置」らしい。分からないけど)

(そのフォルダ名は「emptyExample」でなくてもいいと思うけど、そのフォルダの中にある「.qbs」ファイルのファイル名とフォルダ名が同一ならたぶんなんでもいい。嫌な人はフォルダ名もその.qbsファイルも同名というルールで適当に改名すればいいと思う。(たぶん))
(あとemptyExampleのフォルダはコピってどっかに保存しといたほうがいい。無くなったら複製できない。エラーが確実に出ない唯一のシンプルすぎるプロジェクトだから大事。)

 

■感想文

  • できたexeファイル(そのプロジェクトのフォルダの中のbinフォルダにあるやつ)をダブルクリックで開こうとしてもこのままでは開けなかった。それはdllが足りてないってことらしいけどそこはまだわからない。配布が必要になったら調べる。
  • visual studioが重くて嫌いすぎるから初心者なのにコマンドライン環境に来た。統合開発環境ってものが苦手。無駄に重すぎる。qt createrっていう軽いIDEな選択肢もあったっぽいけど、なんかできなかった。説明が意味不明だった。 
  • oFの環境設定意味分からない。初心者は環境設定で躓くわ。僕は過去に数回チャレンジしたけど途中からなんかうまくいかなくなって諦めるというのを繰り返して数年後の今やっとまともにできたっぽいですよ。数年かかりましたよ。「今年はいけるかな?」ってやってみたらできなくてっていうのを2回くらい経験して今年はやっとできました。
  • あと日本語のチュートリアルが間違っててエラーしか出ないのがある。Ballとかいうクラスを作るチュートリアルで間違ってる所ある(ヘッダのプロトタイプ宣言のとこで仮引数を書き足せば正しくなるけどチュートリアルではそこがまるまる抜けてるからチュートリアルになってない)。とにかくやっと入門できたのでよかった。