Undefined symbols for architecture i386:"cocos2d::extension::CocoLoader::ReadCocoBinBuff(char*)"

在网上下载了个cocos2d-x的demo,因为不知道cocos的版本,所以我直接用cocos2d-x2.2.6打开,结果出现下面错误

屏幕快照 2015-03-20 上午10.04.07.png

代码如下:

Undefined symbols for architecture i386:
  "cocos2d::extension::CocoLoader::ReadCocoBinBuff(char*)", referenced from:    cocos2d::extension::CCDataReaderHelper::addDataFromBinaryCache(char const*, cocos2d::extension::_DataInfo*) in CCDataReaderHelper.o
      cocos2d::extension::CCComRender::serialize(void*) in CCComRender.o
      cocos2d::extension::GUIReader::widgetFromBinaryFile(char const*) in GUIReader.o
      cocos2d::extension::SceneReader::createNodeWithSceneFile(char const*, cocos2d::extension::AttachComponentType) in SceneReader.o
  "cocos2d::extension::CocoLoader::CocoLoader()", referenced from:     cocos2d::extension::CCDataReaderHelper::addDataFromBinaryCache(char const*, cocos2d::extension::_DataInfo*) in CCDataReaderHelper.o
      cocos2d::extension::CCComRender::serialize(void*) in CCComRender.o
      cocos2d::extension::GUIReader::widgetFromBinaryFile(char const*) in GUIReader.o
      cocos2d::extension::SceneReader::createNodeWithSceneFile(char const*, cocos2d::extension::AttachComponentType) in SceneReader.o
  "cocos2d::extension::CocoLoader::~CocoLoader()", referenced from:   cocos2d::extension::CCDataReaderHelper::addDataFromBinaryCache(char const*, cocos2d::extension::_DataInfo*) in CCDataReaderHelper.o
      cocos2d::extension::CCComRender::serialize(void*) in CCComRender.o
      cocos2d::extension::GUIReader::widgetFromBinaryFile(char const*) in GUIReader.o
      cocos2d::extension::SceneReader::createNodeWithSceneFile(char const*, cocos2d::extension::AttachComponentType) in SceneReader.o
  "cocos2d::extension::LabelReader::createInstance()", referenced from:
      cocos2d::extension::GUIReader::GUIReader() in GUIReader.o
  "cocos2d::extension::ButtonReader::createInstance()", referenced from:
      cocos2d::extension::GUIReader::GUIReader() in GUIReader.o
  "cocos2d::extension::LayoutReader::createInstance()", referenced from:
      cocos2d::extension::GUIReader::GUIReader() in GUIReader.o
  "cocos2d::extension::SliderReader::createInstance()", referenced from:
      cocos2d::extension::GUIReader::GUIReader() in GUIReader.o
  "cocos2d::extension::stExpCocoNode::GetChildNum()", referenced from:



最后解决方案

屏幕快照 2015-03-20 上午11.34.47.png

因为报错是在CocoLoader.cpp这个文件,所以先查看这个引用了没有,结果在列表中,发现并没有引用这个文件,所以就找到这个文件,并且引用到相应的文件夹里面.

他会有很多个文件都没有引用,所以需要全部都加到项目中去

(强烈提醒:它提示却那个文件,你加那个文件或者文件夹即可,千万不要直接选择这个大的文件夹一股脑全加进去,否则有可能会出现重复添加,出现错误,就比如下图,xcode提示缺少cocoloader.h这个文件,你可以只加这个文件或者省事加json文件夹,但是千万不要直接把cocosstudio这个大文件夹全部搞进来,当然,即使你加json文件夹也是有风险的,最安全的方法就是提示提示缺少cocoloader.h这个文件,你只加入这个文件即可)

屏幕快照 2015-03-20 上午10.21.08.png

加入之后即可

所以这里也提醒下各位以后分享demo的时候记得说下你的运行环境,谢谢

Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment