cocos2d-x build android 出现如下错误

本文解决了一个在使用Cocos2d-x进行安卓应用开发时遇到的编译错误问题,具体表现为未定义的引用错误。通过检查代码确认是否缺少必要的实现,并将对应的源文件手动添加到android.mk中,最终解决了该问题。


[armeabi] SharedLibrary  : libcocos2dcpp.so
D:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dc
pp_shared/__/__/Classes/AppDelegate.o: in function RegisterLayer::create():jni/../../Classes/RegisterLayer.h:21: error: undefined reference to 'RegisterLayer::init()'
D:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dc
pp_shared/__/__/Classes/AppDelegate.o: in function RegisterLayer::create():jni/../../Classes/RegisterLayer.h:21: error: undefined reference to 'vtable for RegisterLayer'



解决方法:

1,检查代码是否没有定义

2,将文件手动添加到android.mk文件中去
LOCAL_SRC_FILES := hellocpp/main.cpp \
                   ../../Classes/AppDelegate.cpp \
                   ../../Classes/HelloWorldScene.cpp \
       ../../Classes/BaseLayer.cpp \
                   ../../Classes/RegisterLayer.cpp \
     ../../Classes/LoginLayer.cpp

将objs文件夹删除,重新build

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值