Cocos2d iphone 创建my cocos2d应用程序存档时出错

Cocos2d iphone 创建my cocos2d应用程序存档时出错,cocos2d-iphone,Cocos2d Iphone,我使用的是cocos2d iphone(develope-v2)和xcode 5,在尝试归档我的应用程序时出现此错误:(而不是在编译它时) libs/kazmath/src/neon\u matrix\u impl.c:64:15: error: unknown register name 'q0' in asm : "memory", "q0", "q1", "q2", "q3", "q8", "q9", "q10", "q11", "q12", "q13", "q14",

我使用的是cocos2d iphone(develope-v2)和xcode 5,在尝试归档我的应用程序时出现此错误:(而不是在编译它时)

libs/kazmath/src/neon\u matrix\u impl.c:64:15

error: unknown register name 'q0' in asm
         : "memory", "q0", "q1", "q2", "q3", "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15" //clobber
                     ^
libs/kazmath/src/neon_matrix_impl.c:93:15: error: unknown register name 'q0' in asm
         : "memory", "q0", "q1", "q8", "q9", "q10", "q11" //clobber
                     ^
2 errors generated.
如何解决这个问题?

我必须更换:

#if defined(__ARM_NEON__)
作者:

在文件
neon_matrix_impl.c
\35;中,如果已定义(\u ARM\u ARCH\u 7)
将使用cocos2D v2.1编译,但会出现链接错误(在iPad Air上)

我已经用cocos2dv3-kazmath库()升级了我的karmath库


这对我来说很有用。

如果只更改neon_matrix_impl.c,这就是kazmath中的错误

Undefined symbols for architecture arm64:  
  "_NEON_Matrix4Mul", referenced from:  
      _kmMat4Multiply in libcocos2d-library.a(mat4.o)  
ld: symbol(s) not found for architecture arm64  
clang: error: linker command failed with exit code 1 (use -v to see invocation)

您必须在两个文件中将ARM_NEON更改为ARMARCH_7:

  • 霓虹灯矩阵
  • mat4.c
  • 在这两个文件中搜索#if并替换它

    #if defined(__ARM_NEON__)
    


    在此之后,64位应该可以正常工作。

    显示用于创建存档的代码。我在这里打开了一个问题:更新:在mat4.c中修复它并简单地删除ifdef和触发调用NEON_Matrix4Mul的代码可能不那么笨拙。在KMat4多重功能中,这救了我!我一直在寻找解决这个问题的办法,已经快一个月了!您必须在两个文件中将ARM_NEON更改为ARMARCH_7,即NEON_matrix_impl.c和mat4.c。在此之后,64位应该可以正常工作。如果您格式化您的答案,使代码具有适当的换行符,这将有所帮助。这有助于解决我在尝试使用64位Cocos2d构建旧游戏时遇到的问题。
    #if defined(__ARM_NEON__)
    
    #if defined(_ARM_ARCH_7)