cocos2d-xをgithubからcloneしたときの注意点など
cocos2d-x game jamでの悲劇
紳士淑女のみなさん、こんにちわ。智史之介です。
cocos2d-xをダウンロードするときに、オフィシャルサイトから落としていますか?
良識ある社会人であれば、それをオススメします。なにも自ら進んで無用なアクシデントに嵌まることもありませんから…。
先日(3月1日)、cocos2d-x限定の5h game jamが開催されて、自分はそれに参加してきました。
開発時間が5時間(実質は4時間ほど)しかなかったので、基本的にはみなさんjavascript bindingで行われたのですが、
のっけから自分はビルドにつまづくのです。
なんかファイルがない…?no such file or directoryとか言ってる。。
game jam当日は、堀講師の用意したサンプルの中にあった該当ファイルをコピーしてくることで急場を凌いだのですが、 このまま放っておいても今後自分が困るだけなのでキッチリ解決しておきたいと思います。
おそらくgithubからcloneしてきたソースを使っていたのが問題
バージョン間の差分や変更履歴を追うのにgithubから落としてきた方が色々都合がよかったので、 僕はオフィシャルサイトからのパッケージダウンロードではなかったのだ。
「そんなファイルはないよ」と言われたファイルが「cocos/scripting/auto-generated/js-bindings」の中のファイルだったので、 なにかしらビルド的なことをしなくちゃいけないのかなと類推してみる。
toolsの中にそれっぽいのがあったので実行だ!
がびーん。cocos2d-x 3.0beta2バグだらけやん!と悪態をついてみるも、何かがおかしい、と気づく。
こういうときはソースを見るに限る。しかも、github上のcode browserで確認するのが確実だ。
https://github.com/cocos2d/cocos2d-x/tree/d63aefe919f92bd5247b4c40d14e13ab5112babe/tools
すると一目瞭然、submodule
だったのね…。
https://github.com/cocos2d/cocos2d-x/tree/d63aefe919f92bd5247b4c40d14e13ab5112babe/cocos/scripting
auto-generatedの方もsubmoduleであることを確認。
submoduleだと分かれば話は早い。
うん、落ちてきた落ちてきた!
さくっとサンプルを作成して、ビルドしてみると、通る!
ふだんgit submoduleをあまり使わないので、頭からスッポリ抜けてるんだよなー。
まだまだ精進が足りんとですね。おっす!