Apple Mach -O Linker Error Cocos2d-x

时间:2013-09-30 08:49:20

标签: ios xcode cocos2d-iphone

您好我遇到了这个问题,并且一直在寻找数小时试图找到解决此问题的方法。

 "cocos2d::CCObject::retainCount() const", referenced from:
  cocos2d::extension::CCDisplayManager::~CCDisplayManager() in CCDisplayManager.o
  cocos2d::extension::CCDisplayManager::~CCDisplayManager() in CCDisplayManager.o
  cocos2d::extension::CCDisplayManager::~CCDisplayManager() in CCDisplayManager.o
  cocos2d::CCTextureCache::removeUnusedTextures() in libcocos2dx.a(CCTextureCache.o)
  cocos2d::CCTextureCache::dumpCachedTextureInfo() in libcocos2dx.a(CCTextureCache.o)
  ld: symbol(s) not found for architecture i386

还有大约12个类似的问题。

我正在使用xcode 4.6, 我尝试过几个解决方案:

  • 从我的项目和我的cocos2d-x子项目中的“有效架构”中删除i386架构,
  • 将“仅构建活动架构”设置为“是”
  • 从iphone模拟器或xcode来源数据位置删除项目的数据位置
  • 重启Xcode
  • 重新启动Mac

但是,这些解决方案都没有对我有用。这是我对这个错误的怀疑

  • 我确实从“独特” - “遗产”
  • 切换xcode数据位置
  • 因为我倾向于将我的日常项目保存到文件夹,所以xcode中的原始数据位置可能具有相同的名称,每个都连接一些唯一的名称

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

我确实从“独特” - “遗留”

切换xcode数据位置

不要那样做!遗留选项仅适用于由于其设置/结构而无法或不希望更新项目的绝对需要它的遗留项目。在所有其他情况下,遗留构建位置设置往往会导致问题,例如您所拥有的问题。

除非您有非常非常好的理由并了解更改构建位置的含义,否则请将其设置为默认的唯一。否则,请使用“共享”或“自定义”,但不使用旧版。