最近在用cocos2dx写游戏的时候遇到了不少问题,最麻烦的是添加了自己的类后Android studio一直报错undefined reference to XX’异常,这本来不是多难的问题,但是因为网上的资料都太老了,所以一开始的解决思路就错了。
在游览器上搜索“cocos2dx 报错undefined reference to XX’异常”,清一色的解决方法都是让你在Android.mk文件中添加文件,然而问题就是Android.mk早就被高版本的studio弃用了,你乐意的话删了都可以。要解决这个问题,需要在项目目录下的cmakelist.txt下统一添加你要添加的资源文件
就是这里
# add cross-platforms source files and header files
list(APPEND GAME_SOURCE
Classes/AppDelegate.cpp
Classes/HelloWorldScene.cpp
)
list(APPEND GAME_HEADER
Classes/AppDelegate.h
Classes/HelloWorldScene.h
)
以我的为例子,修改为
#设置所有资源
file(GLOB_RECURSE GAME_SOURCE Classes/*.cpp)
file(GLOB_RECURSE GAME_HEADER Classes/*.h)
#把下面的注释掉,不然就要手动添加所有路径
# add cross-platforms source files and header files
#list(APPEND GAME_SOURCE
# Classes/AppDelegate.cpp
# Classes/HelloWorldScene.cpp
# Classes/HelloWorldScene2.cpp
# )
#list(APPEND GAME_HEADER
# Classes/AppDelegate.h
# Classes/HelloWorldScene.h
# Classes/HelloWorldScene2.h
# )
这样就能build成功了