汇编程序消息:分支超出范围

时间:2014-05-07 08:00:50

标签: android c++ android-ndk cygwin cocos2d-x

我正在使用C ++在cocos2d-x上开发游戏。 我在xCode中开发了完整的代码。编译,在iphone和ipad中运行,按预期运行。

但是当在Windows 7操作系统中编译android代码时,使用Cygwin(64位)..我遇到了以下代码..

$ ./build_native.sh
NDK_ROOT = D:\android-ndk-r9
COCOS2DX_ROOT = /cygdrive/d/cocos2d-x-2.2/projects/Totals/proj.android/../../..
APP_ROOT = /cygdrive/d/cocos2d-x-2.2/projects/Totals/proj.android/..
APP_ANDROID_ROOT = /cygdrive/d/cocos2d-x-2.2/projects/Totals/proj.android
Using prebuilt externals

make: Entering directory '/cygdrive/d/cocos2d-x-2.2/projects/Totals/proj.android'
Android NDK: WARNING:/cygdrive/d/cocos2d-x-2.2/projects/Totals/proj.android/../../../cocos2dx/Android.mk:cocos2dx_static: LOCAL_LDLIBS is always ignored for static libraries
Compile++ thumb  : cocos2dcpp_shared <= AppDelegate.cpp

Compile++ thumb  : cocos2dcpp_shared <= PlayerSelection.cpp

jni/../../Classes/PlayerSelection.cpp: In member function 'void PlayerSelection::update()':
jni/../../Classes/PlayerSelection.cpp:1511:17: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

Compile++ thumb  : cocos2dcpp_shared <= GameScene.cpp
C:\cygwin64\tmp\ccdF8Sjo.s: Assembler messages:
C:\cygwin64\tmp\ccdF8Sjo.s:12180: Error: branch out of range
/cygdrive/d/android-ndk-r9/build/core/build-binary.mk:348: recipe for target 'obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/GameScene.o' failed
make: *** [obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/GameScene.o] Error 1
make: Leaving directory '/cygdrive/d/cocos2d-x-2.2/projects/Totals/proj.android'

在上面的命令行输出中,问题是:

Compile++ thumb  : cocos2dcpp_shared <= GameScene.cpp
C:\cygwin64\tmp\ccdF8Sjo.s: Assembler messages:
C:\cygwin64\tmp\ccdF8Sjo.s:12180: Error: branch out of range

我试过以下链接:

Why does branching occur in assembly code while comparing for a number to be in range?

https://in.answers.yahoo.com/question/index?qid=20100603163224AAAGX7J

branch out of range compile error

以上参考文献都没有帮助我编译代码。

1 个答案:

答案 0 :(得分:0)

在通过逐个检查每个功能与我的代码作斗争之后,我发现问题出现在嵌套开关的情况下,如果有人碰巧遇到这个问题,这可能是它.. 感谢LearnCocos2D感兴趣。