cocos2d-x发生undefined reference to `XX'错误

本文解决了一个在使用Cocos2d-x开发的游戏项目中遇到的编译错误问题,具体表现为找不到GameLayer构造函数。通过在Android.mk文件中正确指定LOCAL_SRC_FILES变量,确保所有需要的cpp文件都被包含进来,从而解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

eclipse cocos2dx项目,出现错误

E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:27: undefined reference to `GameLayer::GameLayer()'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:27: undefined reference to 

原因是android的nkd编译需要将每个cpp尽心进行声明

进入jni-->Classes目录下的Android.mk

LOCAL_SRC_FILES := AppDelegate.cpp \
                   HelloWorldScene.cpp

在后面跟上你所有的cpp文件

如下:

LOCAL_SRC_FILES := hellocpp/main.cpp \
                   ../../Classes/AppDelegate.cpp\
../../Classes/BaseLayer.cpp\
../../Classes/BaseScene.cpp\
../../Classes/BaseSprite.cpp\
../../Classes/BaseTower.cpp\
../../Classes/CitymanEnemy.cpp\
../../Classes/CleanerTower.cpp\
../../Classes/GameLayer.cpp\
../../Classes/GameScene.cpp\
../../Classes/HelloWorldScene.cpp\
../../Classes/Waypoint.cpp\


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值