cocos2d-x 3.6运行cocos run出现Ndk build failed解决办法

前端之家收集整理的这篇文章主要介绍了cocos2d-x 3.6运行cocos run出现Ndk build failed解决办法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我运行cocosrun -p android编译成安卓APK的时候提示:jni/../../Classes/AppDelegate.cpp:67:error:undefinedreferenceto'GameMain::c

reateScene()', 最后出现错误提示:Ndk build Failed!,其中GameMain是我自己写的代码,。

后来找到了原因,有两种解决办法:

第一种方法:在\proj.android\jni下面的Android.mk的文件里面,在LOCAL_SRC_FILES下面添加自己编写的所有代码的CPP文件名称

第二种方法:第一种方法的缺点就是,如果项目有很多文件,手工添加很麻烦,可以参考下文的方法,用代码的方式遍历Classes目录下的

CPP文件,使用这个方法需要注意的是:Classes文件夹里面的所有cpp都是项目中有用到的,主要代码如下:

# 遍历目录及子目录的函数
define walk
    $(wildcard $(1)) $(foreach e,$(wildcard $(1)/*),$(call walk,$(e)))
endef
 
# 遍历Classes目录
ALLFILES = $(call walk,$(LOCAL_PATH)/../../Classes)
 
FILE_LIST := hellocpp/main.cpp
# 从所有文件提取出所有.cpp文件
FILE_LIST += $(filter %.cpp,$(ALLFILES))

LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)

参考文章如下:

http://tianyiyan.com/cocos2d-x-3-x-%E7%BC%96%E8%AF%91android%E6%96%B9%E6%B3%95/

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