求助:Android Studio打包失败(Coco2d-x 4.0 )

正在学习Coco2d-x 4.0中。试写了一个切换场景的程序。为了新建一个GameOver场景,新建了两个文件GameOverScene.h和GameOverScene.cpp,然后在主场景条件合适时跳转到GameOver场景。在Visual Studio 2019中运行很正常了。

然后想打包成安卓APK。用Android Studio 3.3。rebuild,居然编译不过,错误提示:
error: undefined reference to ‘GameOverScene::createScene()’

搜索网上,找到有人说找到proj.android/jni/目录下的Android.mk文件,在LOCAL_SRC_FILES字段下加上新建的场景cpp文件就可以了。我满心欢喜到我的工程目录下一找,结果发现居然没有这个Android.mk文件!!!

所以,我就想问:
(1)是不是Coco2d-x以前有这个Android.mk文件,而现在4.0版就没有了?
(2)我上面这个error怎么解决?

哈哈 用Cmake

怎么操作?能否说详细些?@LUA

摸索了一通,发现是这样操作:

在工程目录下找到CMakeLists.txt文件,在里面找到 list(APPEND GAME_SOURCE项,在里面加上GameOverScene.cpp。在找到 list(APPEND GAME_HEADER 项,在里面加上 GameOverScene.h。

(或者这样说:在CMakeLists.txt文件里面搜"HelloWorldScene",在搜到HelloWorldScene.cpp的地方,后面加上GameOverScene.cpp,在搜到HelloWorldScene.h的地方,后面加上GameOverScene.h)

然后保存

然后重新用Android Studio打开项目,ReBuild,就OK了。

哈哈,似乎我这个贴是全网第一个记录怎么用CMakeLists.txt解决undefined reference问题的帖子哦!谢谢上面@LUA的提示。

1赞

是不是第一个不知道,我在网上找了两天没找到怎么解决,感谢老铁