cocos在eclipse下NDK的设置

前端之家收集整理的这篇文章主要介绍了cocos在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重新编译一次才行

猜你在找的Cocos2d-x相关文章