ゲームが作りたいので Cocos2d-x を入れようとしたのですが(唐突)
Cocos2d-x v3.0rc1 を DL して解凍、
その中にある VS2012 向けのソリューション(cocos2d-x-3.0rc1/build/cocos2d-win32.vc2012.sln)をビルドしようとしたところ以下のエラーが出ました:
1番上のエラーの該当箇所(LabelTestNew.cpp, 606行目)を見てみましょう。
何やら怪しげなコメントが書いてありますね。どれどれ・・・
怪しいってレベルじゃないです。どう考えてもこいつが原因です。
おそらく中国版のVisualStudioではビルドが通るのでしょう。
元のソースコードにこんな「おまじない」が含まれているのなら、こちらも「おまじない」を追加してやりましょう。
606行目と607行目に含まれる文字列リテラル:
これはひどい。
同じようなエラーが同ファイルの1101行目にもあるので、そこも同様に修正します:
デフォルトでは libAudio がスタートアッププロジェクトに設定されているので、
cpp-tests を右クリックして「スタートアップ プロジェクトに設定」し、実行します。
無事実行できました。
ちょっと画面サイズが合っていないのが気になりますが、画像・音・Box2D(物理エンジン)のいずれも動作しているようです。
と思ったけど、Audio のサンプルのスライダーが機能していないような・・・?まあいいか。
ちなみに自分の環境では、C3130(PDBファイルに書き込めないという旨のエラー)も出ました。
http://msdn.microsoft.com/ja-jp/library/cc416782.aspx
こちらは原因が分からなかったのですが、Cocos2d-x の zip ファイルを解凍しなおすところからやり直したところ解決したので、解凍に失敗していたか、何か関係ないところをいじってしまっていたのかもしれません。
こちらは原因不明で未解決です。Releaseビルドでのみ発生します。
Cocos2d-x を使ってゲーム開発が出来るように頑張っていきましょう!
Cocos2d-x v3.0rc1 を DL して解凍、
その中にある VS2012 向けのソリューション(cocos2d-x-3.0rc1/build/cocos2d-win32.vc2012.sln)をビルドしようとしたところ以下のエラーが出ました:
エラー 549 error C2001: 定数が 2 行目に続いています。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 606 1 cpp-tests
エラー 550 error C2144: 構文エラー : 'auto' は ')' によって先行されなければなりません。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 607 1 cpp-tests
エラー 551 error C2448: 'ttfConfig' : 関数の定義が間違っています。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 607 1 cpp-tests
エラー 552 error C2065: 'ttfConfig' : 定義されていない識別子です。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 607 1 cpp-tests
エラー 553 error C2001: 定数が 2 行目に続いています。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 607 1 cpp-tests
エラー 554 error C2146: 構文エラー : ')' が、識別子 'label' の前に必要です。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 608 1 cpp-tests
エラー 555 error C3536: 'label': 初期化前に使用することはできません cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 609 1 cpp-tests
エラー 556 error C2664: 'void cocos2d::Node::addChild(cocos2d::Node *)' : 1 番目の引数を 'int' から 'cocos2d::Node *' に変換できません。(新しい機能 ; ヘルプを参照) cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 609 1 cpp-tests
エラー 559 error C2001: 定数が 2 行目に続いています。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 1101 1 cpp-tests
エラー 560 error C2146: 構文エラー : ')' が、識別子 'label3' の前に必要です。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 1102 1 cpp-tests
エラー 550 error C2144: 構文エラー : 'auto' は ')' によって先行されなければなりません。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 607 1 cpp-tests
エラー 551 error C2448: 'ttfConfig' : 関数の定義が間違っています。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 607 1 cpp-tests
エラー 552 error C2065: 'ttfConfig' : 定義されていない識別子です。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 607 1 cpp-tests
エラー 553 error C2001: 定数が 2 行目に続いています。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 607 1 cpp-tests
エラー 554 error C2146: 構文エラー : ')' が、識別子 'label' の前に必要です。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 608 1 cpp-tests
エラー 555 error C3536: 'label': 初期化前に使用することはできません cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 609 1 cpp-tests
エラー 556 error C2664: 'void cocos2d::Node::addChild(cocos2d::Node *)' : 1 番目の引数を 'int' から 'cocos2d::Node *' に変換できません。(新しい機能 ; ヘルプを参照) cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 609 1 cpp-tests
エラー 559 error C2001: 定数が 2 行目に続いています。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 1101 1 cpp-tests
エラー 560 error C2146: 構文エラー : ')' が、識別子 'label3' の前に必要です。 cocos2d-x-3.0rc1\tests\cpp-tests\Classes\LabelTest\LabelTestNew.cpp 1102 1 cpp-tests
1番上のエラーの該当箇所(LabelTestNew.cpp, 606行目)を見てみましょう。
何やら怪しげなコメントが書いてありますね。どれどれ・・・
// Adding "啊" letter at the end of string to make VS2012 happy, otherwise VS will generate errors // like "Error 3 error C2146: syntax error : missing ')' before identifier 'label'";(意訳:文字列の最後におまじないを追加しておくとVS2012は幸せになります)
怪しいってレベルじゃないです。どう考えてもこいつが原因です。
おそらく中国版のVisualStudioではビルドが通るのでしょう。
元のソースコードにこんな「おまじない」が含まれているのなら、こちらも「おまじない」を追加してやりましょう。
606行目と607行目に含まれる文字列リテラル:
"美好的一天啊"を以下のように修正します:
"美好的一天啊a"
これはひどい。
同じようなエラーが同ファイルの1101行目にもあるので、そこも同様に修正します:
"美好的一天啊美好的一天啊美好的一天啊a"これでビルドが通るはずです。
デフォルトでは libAudio がスタートアッププロジェクトに設定されているので、
cpp-tests を右クリックして「スタートアップ プロジェクトに設定」し、実行します。
無事実行できました。
ちょっと画面サイズが合っていないのが気になりますが、画像・音・Box2D(物理エンジン)のいずれも動作しているようです。
と思ったけど、Audio のサンプルのスライダーが機能していないような・・・?まあいいか。
ちなみに自分の環境では、C3130(PDBファイルに書き込めないという旨のエラー)も出ました。
http://msdn.microsoft.com/ja-jp/library/cc416782.aspx
こちらは原因不明で未解決です。Releaseビルドでのみ発生します。
Cocos2d-x を使ってゲーム開発が出来るように頑張っていきましょう!
コメント
コメント一覧 (1)