当我们想将我们的cocos的项目发布到androID的时候为了在真机下调试,这时候我们需要使用ndk-stack但是如果使用cocos自带的build_native.py会导致看不到androID下的C++层的错误信息,这时候我们就需要在eclipse中设置NDK了,基本的工具就不说了,下面的是我的ndk的设置
我使用的是cocos2d-x3.6 官方使用的是ndkr10c 如果你的ndk版本在r10以上你需要将application.mk中的NDK_TOolCHAIN_VERSION设置成4.8
如果是r9的版本我的事r9d设置成NDK_TOolCHAIN_VERSION=4.8
按照我的这个设置你还需要设置如下
在Jni文件夹中的application.mk设置如下
第一行修改
APP_STL := c++_static
最后一行添加
NDK_TOolCHAIN_VERSION = 4.8
由于项目的源代码放在了另一个文件夹下,因此修改androID.mk的检索路径如下
# 遍历目录及子目录的函数
define walk
$(wildcard $(1)) $(foreach e,$(wildcard $(1)/*),$(call walk,$(e)))
endef
# 遍历Classes目录
ALLfileS = $(call walk,$(LOCAL_PATH)/../../Castlelib/Classes)
file_List := hellocpp/main.cpp
# 从所有文件中提取出所有.cpp文件
file_List += $(filter %.cpp,$(ALLfileS))
file_List += $(filter %.c,$(ALLfileS))
file_List += $(filter %.hpp,$(ALLfileS))
LOCAL_SRC_fileS :=$(file_List:$(LOCAL_PATH)/%=%)
file_INCLUDES := $(shell find$(LOCAL_PATH)/../../Castlelib/Classes -type d)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Castlelib/Classes
接下来,我们还需要修改c/C++ build的设置将build command设置成ndk的cmd
这下你应该可以正常地在eclipse中调试androID代码了并能用ndk-stack查看错误堆栈,
不过在eclipse下调试androID有一个很恶心的地方是你每次运行的代码并不是你当前编译出来的代码,而是上一次的,也就是说如果你在C++层修改了代码,
他不会在当前的运行中调用到,而是你必须再修改一下C++代码,让ndk重新编译一次才行
总结以上是内存溢出为你收集整理的cocos在eclipse下NDK的设置全部内容,希望文章能够帮你解决cocos在eclipse下NDK的设置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)