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

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

发布时间:2020-12-14 16:25:33 所属栏目:百科 来源:网络整理
导读:我运行cocosrun -p android编译成安卓APK的时候提示:jni/../../Classes/AppDelegate.cpp:67:error:undefinedreferenceto'GameMain::c reateScene()', 最后出现错误提示:Ndk build failed!,其中GameMain是我自己写的代码,。 后来找到了原因,有两种解决办
我运行cocosrun -p android编译成安卓APK的时候提示:jni/../../Classes/AppDelegate.cpp:67:error:undefinedreferenceto'GameMain::c

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

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

第一种方法:在proj.androidjni下面的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/

(编辑:李大同)

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

    推荐文章
      热点阅读