2013-10-28 11 views
10

Tôi đang sử dụng cocos2d-iphone (phát triển-v2) và xcode 5 và có lỗi này khi cố gắng để lưu trữ ứng dụng của tôi: (và không phải khi tôi biên dịch nó)lỗi khi tạo một kho lưu trữ các ứng dụng cocos2d tôi

libs/kazmath/src/neon_matrix_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. 

Cách khắc phục điều đó?

+0

Hiển thị mã bạn sử dụng để tạo lưu trữ. – LearnCocos2D

+0

Tôi đã mở một vấn đề ở đây: http://code.google.com/p/cocos2d-iphone/issues/detail?id=1507&can=1&q=franck4321&colspec=ID%20Type%20Status%20Priority%20Milestone%20Component%20Owner%20Summary – franck

Trả lời

34

tôi đã phải thay thế:

#if defined(__ARM_NEON__) 

bởi:

#if defined(_ARM_ARCH_7) 

trong file neon_matrix_impl.c.

+0

cập nhật: có lẽ nó ít vụng về để sửa chữa nó trong mat4.c và chỉ cần loại bỏ ifdef và mã kích hoạt cuộc gọi đến NEON_Matrix4Mul. trong hàm kmMat4Multiply – franck

+0

Điều này đã cứu tôi! Tôi đã tìm kiếm một giải pháp cho điều này trong gần một tháng nay! –

+7

Bạn phải thay đổi ARM_NEON thành ARMARCH_7 thành hai tệp, neon_matrix_impl.c và mat4.c. 64 bit nên hoạt động tốt sau đó. – suku

8

Đây là lỗi trong kazmath nếu bạn chỉ cần thay đổi trong neon_matrix_impl.c chỉ

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)

câu trả lời:

Bạn phải thay đổi ARM_NEON để ARMARCH_7 trong hai tập tin, neon_matrix_impl.c và mat4.c . 64 bit nên hoạt động tốt sau đó.

+0

Sẽ giúp ích nếu bạn định dạng câu trả lời để mã có các ngắt dòng thích hợp. – Teepeemm

Các vấn đề liên quan