2

An error occurs when compiling cocos2d-iphone v2.x and including arm64 architecture. The error is in the assembly code for kazmath. Is there a fix for this? (other than removing arm64)

libs/kazmath/src/neon_matrix_impl.c:

Unknown register name 'q0' in asm

Well, maybe no big deal... would be nice to support iPhone 5s etc fully with existing code. I guess this is fixed or will be fixed in the cocos2d 3.x line. https://github.com/cocos2d/cocos2d-iphone/issues/534

4

5 に答える 5

7

正解です。cocos2d-iphone v3 は arm64 アーキテクチャに対して正常にビルドされますが、v2.x はビルドされません。

コンパイラの警告/エラーは比較的簡単に修正できますが、v2.x には多数の 64 ビット互換性の問題 (CGFloat と float の不一致など) が残っているため、v2 で arm64 ビルドを有効にすることは推奨されません。 x これらの問題を自分でデバッグして修正する準備ができていない限り。例えば ​​cocos2d-iphone-extensions プロジェクトの何かなど、arm64 でもテストされていないサードパーティの拡張機能を使用する場合はなおさらです。

現在、v2.x ブランチで作業する人は誰も割り当てられておらず、v2.x が将来の更新を受け取るとはまったく予想していないため、おそらく arm64 コードを含めないことをお勧めします (いずれにしても得られるものはあまりありません)。次に、cocos2d-iphone v3 で次のプロジェクトを開始します。

于 2014-03-11T10:18:31.177 に答える
2

cocos2D v3 kazmath lib ( https://github.com/cocos2d/cocos2d-iphone/tree/develop-v3/external/kazmath )で Karmath ライブラリをアップグレードしてください。

それは私にとってはうまくいきます(iPad Airで)

于 2014-03-18T22:20:59.047 に答える
0

私はこのように解決しました:

  1. @appzYourLifeの提案に従って、ここからCocos2D 2.2をダウンロードします。
  2. フォルダーcocos2dCocosDenshionxcode プロジェクト フォルダー内をバージョン 2.2 のフォルダーに置き換えました。
  3. フォルダkazmath/src編集mad4.cおよびneon_matrix_impl.c置換行で:
#if defined(__ARM_NEON__)

#if defined(_ARM_ARCH_7)
于 2015-06-27T13:17:57.370 に答える