今天将一个cocos2dx小游戏移植到Android平台,并进行编译和打包时,遇到以下错误:
d:/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs-debug/game_shared/__/__/Classes/AppDelegate.o: in function GameScene::create():jni/../../Classes/GameScene.h:15: error: undefined reference to 'GameScene::GameScene()'
collect2: ld returned 1 exit status
经过多方面查找,发现是在Android.mk文件中LOCAL_SRC_FILES没有引入GameScene.cpp引起的。
当我们游戏的类和文件比较多时,这样的问题还是很容易出现的,大家可以考虑写一个脚本自动实现,而避免手动添加cpp文件路径。