GVKun编程网logo

cocos2dx 3.2在android下断点调试(安卓断点调试)

5

这篇文章主要围绕cocos2dx3.2在android下断点调试和安卓断点调试展开,旨在为您提供一份详细的参考资料。我们将全面介绍cocos2dx3.2在android下断点调试的优缺点,解答安卓断点

这篇文章主要围绕cocos2dx 3.2在android下断点调试安卓断点调试展开,旨在为您提供一份详细的参考资料。我们将全面介绍cocos2dx 3.2在android下断点调试的优缺点,解答安卓断点调试的相关问题,同时也会为您带来 关于cocos2dx接Android sdk的一些坑、android – Cocos2dx构建问题、android下编译cocos2dx出现的问题、Bullet(Cocos2dx)之交叉编译Android,集成到cocos2dx3.x的实用方法。

本文目录一览:

cocos2dx 3.2在android下断点调试(安卓断点调试)

cocos2dx 3.2在android下断点调试(安卓断点调试)

1. 先新建一个cocos2dx 的项目



2.将新建出来的工程导入到eclipse中

在eclipse中项目的几个属性配置如下。


在android中选择一个版本打上勾。最好不要太高。在这里配置完后需要在AndroidManifest.xml里做出相应的修改

minSdkVersion需要和前面设置的版本的levelId相同。然后在application节点添加性debuggable="true"。

这里会出现错误。可以直接在program的那个tab里直接删除无视。或者可以在设置里忽略这个错误。

这里把active的configuration设置成debug.在manage configurations里。可能会发现只有一个release的选项。

这里可以随便new个出来。然后debug那个选项就会出来了。然后把你new的删除了就好了。然后把debug设置成active

在c/c++ build里的环境配置里添加你的NDK_ROOT

如果用的是android 4.4以下的sdk可能会出现在cocos2dxWebView.java中会有错误。

可以把这两行注释掉。

如果之前没有配置过ndk的话还要在eclipse的偏好设置(windows下是window/prefrences)里添加ndk路径

到这里基本就能完成调式了。最后上两张调度的图。

<cocos2dx 随记> 关于cocos2dx接Android sdk的一些坑

关于cocos2dx接Android sdk的一些坑

简单说说UI线程 :在Android中,有个非常重要的家伙非常霸道,那就是UI线程。这霸道之一:不能被阻塞。 之二:系统对每一个组件的调用都从UI线程分发出去。

简单说说openGL线程:但凡cocos2dx 启动的绘制线程都是openGL线程。就这么多


任何SDK界面的调用,必须从UI线程中调用,所以需要放到主线程中。如果我们直接从GL线程中调用,轻则调用不了,重者程序蹦死。

解决办法:

得到主线程的handler,这里简单说一种,就是在onCreate中new一个静态handler。

或者new Handler(Looper.getMainLooper()),且叫mainHandler吧,

启动一个线程,

			Thread sendThread=new Thread(new Runnable(){
				public void run() {
					mainHandler.post(sendRun);
				}
			});

	public Runnable sendRun=new Runnable() {
		@Override
		public void run() {
//			//这里就可以调用sdk里面的东西了
	}
};	
</pre><pre name="code"><span>如何从UI线程中调用OpenGL线程呢,直接调用,我以前也干过,感觉没什么问题被发现(he he),如果发现了问题我觉得还是这么调用的好</span>
</pre><pre name="code">Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable() {
			public void run() {
<span>				</span>//回调什么马的
			}
		});
至于想知道,jni native什么的 还请出门右拐,不送

android – Cocos2dx构建问题

android – Cocos2dx构建问题

我在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)

解决方法

试试NDK r11c:

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

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

LOCAL_ARM_MODE:=手臂

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

android下编译cocos2dx出现的问题

android下编译cocos2dx出现的问题

NDK_ROOT = /usr/android-ndk-r8d
COCOS2DX_ROOT = /root/workspace/androidcocos2dx/cocos2d-2.1rc0-x-2.1.2/mytestcocos2dx/proj.android/../..
APP_ROOT = /root/workspace/androidcocos2dx/cocos2d-2.1rc0-x-2.1.2/mytestcocos2dx/proj.android/..
APP_ANDROID_ROOT = /root/workspace/androidcocos2dx/cocos2d-2.1rc0-x-2.1.2/mytestcocos2dx/proj.android
Using prebuilt externals
make: Entering directory `/root/workspace/androidcocos2dx/cocos2d-2.1rc0-x-2.1.2/mytestcocos2dx/proj.android''
Compile++ thumb  : game_shared <= main.cpp
Assembler messages:
Fatal error: invalid -march= option: `armv5te''
make: *** [obj/local/armeabi/objs/game_shared/hellocpp/main.o] Error 1
make: Leaving directory `/root/workspace/androidcocos2dx/cocos2d-2.1rc0-x-2.1.2/mytestcocos2dx/proj.android''

root@zj-K55VM:~/workspace/androidcocos2dx/cocos2d-2.1rc0-x-2.1.2/mytestcocos2dx/

这个是什么错误?请教各位大侠。

Bullet(Cocos2dx)之交叉编译Android,集成到cocos2dx3.x

Bullet(Cocos2dx)之交叉编译Android,集成到cocos2dx3.x

首先将src文件夹复制到jni文件夹,没有可以新建一个

新建两个文件Android.mkApplication.mk

Application.mk内容如下:

APP_ABI:=armeabiarmeabi-v7ax86

APP_PLATFORM:=android-8

APP_STL:=stlport_static

Android.mk内容如下:

LOCAL_PATH:=$(callmy-dir)

include$(CLEAR_VARS)

LOCAL_MODULE :=bullet_static(可随便起)

LOCAL_MODULE_FILENAME:=libbullet(可随便起)

LOCAL_C_INCLUDES:=src/(头文件位置)

(源文件,要列出所有用到的,这里用到BulletSoftBodyBulletDynamics

BulletCollisionsLinearMath

LOCAL_SRC_FILES := src/BulletSoftBody/btSoftBody.cpp\
	src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp \
	src/BulletSoftBody/btSoftBodyHelpers.cpp \
        src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp \
	src/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp \
	src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp \
	src/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp \
	src/BulletSoftBody/btDefaultSoftBodySolver.cpp \
	src/BulletDynamics/Character/btKinematicCharacterController.cpp \
	src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btGearConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp \
	src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp \
	src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp \
	src/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.cpp \
	src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp \
	src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp \
	src/BulletDynamics/Dynamics/btdiscreteDynamicsWorld.cpp \
	src/BulletDynamics/Dynamics/btRigidBody.cpp \
	src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp \
	src/BulletDynamics/Vehicle/btRaycastVehicle.cpp \
	src/BulletDynamics/Vehicle/btWheelInfo.cpp \
	src/BulletDynamics/Featherstone/btMultiBody.cpp \
	src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp \
	src/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp \
	src/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp \
	src/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp \
	src/BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp \
	src/BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp \
	src/BulletDynamics/MLcpsolvers/btDantzigLCP.cpp \
	src/BulletDynamics/MLcpsolvers/btMLcpsolver.cpp \
	src/BulletDynamics/MLcpsolvers/btLemkeAlgorithm.cpp \
	src/BulletCollision/broadphaseCollision/btAxisSweep3.cpp \
	src/BulletCollision/broadphaseCollision/btbroadphaseProxy.cpp \
	src/BulletCollision/broadphaseCollision/btCollisionAlgorithm.cpp \
	src/BulletCollision/broadphaseCollision/btDbvt.cpp \
	src/BulletCollision/broadphaseCollision/btDbvtbroadphase.cpp \
	src/BulletCollision/broadphaseCollision/btdispatcher.cpp \
	src/BulletCollision/broadphaseCollision/btMultiSapbroadphase.cpp \
	src/BulletCollision/broadphaseCollision/btOverlappingPairCache.cpp \
	src/BulletCollision/broadphaseCollision/btQuantizedBvh.cpp \
	src/BulletCollision/broadphaseCollision/btSimplebroadphase.cpp \
	src/BulletCollision/Collisiondispatch/btActivatingCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btBoxBoxCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btBox2dBox2dCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btBoxBoxDetector.cpp \
	src/BulletCollision/Collisiondispatch/btCollisiondispatcher.cpp \
	src/BulletCollision/Collisiondispatch/btCollisionObject.cpp \
	src/BulletCollision/Collisiondispatch/btCollisionWorld.cpp \
	src/BulletCollision/Collisiondispatch/btCollisionWorldImporter.cpp \
	src/BulletCollision/Collisiondispatch/btCompoundCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btCompoundCompoundCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btConvexConcaveCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btConvexConvexAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btConvexPlaneCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btConvex2dConvex2dAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btDefaultCollisionConfiguration.cpp \
	src/BulletCollision/Collisiondispatch/btEmptyCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btGhostObject.cpp \
	src/BulletCollision/Collisiondispatch/btHashedSimplePairCache.cpp \
	src/BulletCollision/Collisiondispatch/btInternalEdgeUtility.cpp \
	src/BulletCollision/Collisiondispatch/btManifoldResult.cpp \
	src/BulletCollision/Collisiondispatch/btSimulationIslandManager.cpp \
	src/BulletCollision/Collisiondispatch/btSphereBoxCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btSphereSphereCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btSphereTriangleCollisionAlgorithm.cpp \
	src/BulletCollision/Collisiondispatch/btUnionFind.cpp \
	src/BulletCollision/Collisiondispatch/SphereTriangleDetector.cpp \
	src/BulletCollision/CollisionShapes/btBoxShape.cpp \
	src/BulletCollision/CollisionShapes/btBox2dShape.cpp \
	src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp \
	src/BulletCollision/CollisionShapes/btCapsuleShape.cpp \
	src/BulletCollision/CollisionShapes/btCollisionShape.cpp \
	src/BulletCollision/CollisionShapes/btCompoundShape.cpp \
	src/BulletCollision/CollisionShapes/btConcaveShape.cpp \
	src/BulletCollision/CollisionShapes/btConeshape.cpp \
	src/BulletCollision/CollisionShapes/btConvexHullShape.cpp \
	src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp \
	src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp \
	src/BulletCollision/CollisionShapes/btConvexpolyhedron.cpp \
	src/BulletCollision/CollisionShapes/btConvexShape.cpp \
	src/BulletCollision/CollisionShapes/btConvex2dShape.cpp \
	src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp \
	src/BulletCollision/CollisionShapes/btCylinderShape.cpp \
	src/BulletCollision/CollisionShapes/btEmptyShape.cpp \
	src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp \
	src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp \
	src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp \
	src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp \
	src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp \
	src/BulletCollision/CollisionShapes/btpolyhedralConvexShape.cpp \
	src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp \
	src/BulletCollision/CollisionShapes/btShapeHull.cpp \
	src/BulletCollision/CollisionShapes/btSphereShape.cpp \
	src/BulletCollision/CollisionShapes/btStaticPlaneshape.cpp \
	src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp \
	src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp \
	src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp \
	src/BulletCollision/CollisionShapes/btTriangleCallback.cpp \
	src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp \
	src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp \
	src/BulletCollision/CollisionShapes/btTriangleMesh.cpp \
	src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp \
	src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp \
	src/BulletCollision/Gimpact/btContactProcessing.cpp \
	src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp \
	src/BulletCollision/Gimpact/btGImpactBvh.cpp \
	src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp \
	src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp \
	src/BulletCollision/Gimpact/btGImpactShape.cpp \
	src/BulletCollision/Gimpact/btTriangleShapeEx.cpp \
	src/BulletCollision/Gimpact/gim_Box_set.cpp \
	src/BulletCollision/Gimpact/gim_contact.cpp \
	src/BulletCollision/Gimpact/gim_memory.cpp \
	src/BulletCollision/Gimpact/gim_tri_collision.cpp \
	src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp \
	src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp \
	src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp \
	src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp \
	src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp \
	src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp \
	src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp \
	src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp \
	src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp \
	src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp \
	src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp \
	src/BulletCollision/NarrowPhaseCollision/btpolyhedralContactClipping.cpp \
	src/LinearMath/btAlignedAllocator.cpp \
	src/LinearMath/btConvexHull.cpp \
	src/LinearMath/btConvexHullComputer.cpp \
	src/LinearMath/btGeometryUtil.cpp \
	src/LinearMath/btPolarDecomposition.cpp \
	src/LinearMath/btQuickprof.cpp \
	src/LinearMath/btSerializer.cpp \
	src/LinearMath/btVector3.cpp 

最后还要加上一句,表示生成静态库如果将STATIC该文SHARED则生成动态库

include$(BUILD_STATIC_LIBRARY)

然后进入命令行

进入jni所在目录

ndk-build

等待编译完成


将三个目录下的libbullet.a分别复制到cocos2dx的安装目录下的

安装目录\Cocos\frameworks\cocos2d-x\prebuilt\android\相应文件下

进入Cocos\frameworks\cocos2d-x\external

新建文件夹Bullet,在Bullet下新建prebuild-mk

Box2D\prebuild-mk下的Android.mk复制到Bullet/prebuild-mk

修改如下3

LOCAL_MODULE:=bullet_static

LOCAL_MODULE_FILENAME:=libbullet

LOCAL_SRC_FILES:=../../../prebuilt/android/$(TARGET_ARCH_ABI)/libbullet.a


复制头文件

bullet3src的所有文件复制到新建的Bullet文件下


删除不是.h的所有文件

下一步任务繁重,

将所有用到BulletCollisionBulletDynamicsBulletSoftBodyLinearMath目录下的include都加上Bullet/,可以使用Notepad++Bullet目录搜索Bullet,并替换为Bullet/BulletLinearMath并替换为Bullet/LinearMath

进入Cocos\frameworks\cocos2d-x\cocos\prebuilt-mk

Android.mk

LOCAL_WHOLE_STATIC_LIBRARIES+=Box2d_static下面添加

LOCAL_WHOLE_STATIC_LIBRARIES+=bullet_static

$(callimport-module,Box2D/prebuilt-mk)下面添加

$(callimport-module,Bullet/prebuilt-mk)

至此已经完成编译静态库

下载地址

今天关于cocos2dx 3.2在android下断点调试安卓断点调试的分享就到这里,希望大家有所收获,若想了解更多关于 关于cocos2dx接Android sdk的一些坑、android – Cocos2dx构建问题、android下编译cocos2dx出现的问题、Bullet(Cocos2dx)之交叉编译Android,集成到cocos2dx3.x等相关知识,可以在本站进行查询。

本文标签: