Cocos2dx构建问题

时间:2016-07-07 18:33:08

标签: android c++ android-ndk cocos2d-x-3.x

我在Mac OSx El Captain上有最新版本的Cocos2dx,它是v3.12和最新的ndk r12b。 我尝试了无数次为android平台构建我的项目,并且我继续在“R_ARM_THM_CALL”中出现“重定位溢出”错误。 并且库不会最终链接。 我该如何解决这个错误?我是否需要先前版本的cocos2dx或ndk?

请帮助。

以下是整个错误消息:

/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./2d/CCNode.cpp:903: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/regex.h:2109: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/regex.h:2109: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/regex.h:515: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/regex.h:515: error: relocation overflow in R_ARM_THM_CALL
[x86] SharedLibrary  : libMyGame.so
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./platform/CCGLView.cpp:44: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/CCAffineTransform.cpp:73: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/CCAffineTransform.cpp:74: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/Mat4.cpp:968: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/Mat4.cpp:974: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/Quaternion.cpp:26: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/Vec4.cpp:306: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/Vec4.cpp:307: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/Vec4.cpp:308: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/Vec4.cpp:309: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/Vec4.cpp:310: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./math/Vec4.cpp:311: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCGLProgramState.cpp:46: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTextureCache.cpp:634: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCFrameBuffer.cpp:36: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./2d/CCCamera.cpp:42: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/iostream:74: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/external/bullet/LinearMath/btQuickprof.cpp:21: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/external/bullet/LinearMath/btQuickprof.cpp:433: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/external/bullet/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp:623: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/toolchain/gcc/gcc-4.9/libstdc++-v3/libsupc++/eh_globals.cc:117: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/out/build/tmp/build-65800/build-gnustl/static-armeabij4.9/include/arm-linux-androideabi/bits/gthr-default.h:778: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/out/build/tmp/build-65800/build-gnustl/static-armeabij4.9/include/ext/concurrence.h:219: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/out/build/tmp/build-65800/build-gnustl/static-armeabij4.9/include/ext/atomicity.h:49: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/out/build/tmp/build-65800/build-gnustl/static-armeabij4.9/include/bits/basic_string.h:249: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/out/build/tmp/build-65800/build-gnustl/static-armeabij4.9/include/ext/atomicity.h:49: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/out/build/tmp/build-65800/build-gnustl/static-armeabij4.9/include/bits/basic_string.h:249: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/out/build/tmp/build-65800/build-gnustl/static-armeabij4.9/include/ext/atomicity.h:49: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/out/build/tmp/build-65800/build-gnustl/static-armeabij4.9/include/bits/basic_string.h:249: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/toolchain/gcc/gcc-4.9/libstdc++-v3/src/c++11/system_error.cc:65: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/toolchain/gcc/gcc-4.9/libstdc++-v3/src/c++11/system_error.cc:66: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/out/build/tmp/build-65800/build-gnustl/static-armeabij4.9/include/ext/atomicity.h:49: error: relocation overflow in R_ARM_THM_CALL
/Volumes/Android/buildbot/src/android/ndk-r12-release/out/build/tmp/build-65800/build-gnustl/static-armeabij4.9/include/bits/basic_string.h:249: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./base/CCValue.cpp:33: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./base/CCValue.cpp:33: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./base/CCValue.cpp:33: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./base/CCValue.cpp:33: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./base/CCValue.cpp:34: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./base/CCValue.cpp:34: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./base/CCValue.cpp:34: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./base/CCValue.cpp:34: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./base/CCValue.cpp:36: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:63: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:63: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:64: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:64: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:65: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:65: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:66: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:66: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:67: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:67: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:68: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:68: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:69: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:69: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:70: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:70: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:71: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:71: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:74: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:74: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:75: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:75: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:76: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:76: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:77: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:77: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:81: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:81: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:85: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:85: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:97: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:97: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:102: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:102: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:107: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:107: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCTexture2D.cpp:116: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./2d/CCFontAtlasCache.cpp:36: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./2d/CCFontAtlasCache.cpp:36: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./2d/CCFontAtlasCache.cpp:36: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./2d/CCFontAtlasCache.cpp:36: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./2d/CCFontFreeType.cpp:50: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./2d/CCFontFreeType.cpp:50: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./2d/CCFontFreeType.cpp:50: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./2d/CCFontFreeType.cpp:50: error: relocation overflow in R_ARM_THM_CALL
/Users/moshe/developer/CrossPlatformDev/com.game.mathymaddy/proj.android/../cocos2d/cocos/./renderer/CCVertexAttribBinding.cpp:46: error: relocation overflow in R_ARM_THM_CALL
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

2 个答案:

答案 0 :(得分:2)

尝试NDK r11c:

http://dl.google.com/android/repository/android-ndk-r11c-darwin-x86_64.zip

还要确保Android.mk中包含以下行:

LOCAL_ARM_MODE := arm

这对我有用(我和NDK r12b也有同样的错误)。希望这有帮助!

答案 1 :(得分:1)

使用

时,这是NDKr12中的错误
  

APP_ABI:= armeabi

aplication.mk 文件中的

here是在cocos2d项目的github中打开的问题,而here是由cocos2d-x开发人员在NDK项目的github上打开的问题。 但是,解决方案怎么样?您可以将 APP_ABI armeabi 更改为 armeabi-v7a ,然后编译您的项目而不会出现错误。

相关问题