加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos在eclipse下NDK的设置

发布时间:2020-12-14 16:38:30 所属栏目:百科 来源:网络整理
导读:当我们想将我们的cocos的项目发布到android的时候为了在真机下调试,这时候我们需要使用ndk-stack但是如果使用cocos自带的build_native.py会导致看不到android下的C++层的错误信息,这时候我们就需要在eclipse中设置NDK了,基本的工具就不说了,下面的是我的

当我们想将我们的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重新编译一次才行

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读