2014年4月2日水曜日

Cocos2dxでターゲットをiOS7以上にした時に発生するエラーの解決方法

メインターゲット プロジェクトの Deployment Target7.0 以上にした際、ビルド時に以下のようなエラーが沢山発生します。
※Cocos2d-x 2.2.2 での内容となります。


Undefined symbols for architecture i386:
  "cocos2d::CCDictionary::objectForKey(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      cocos2d::extension::ActionManager::getActionByName(char const*, char const*) in CCActionManager.o
      PageLayer::update(float) in PageLayer.o
      cocos2d::extension::CCBAnimationManager::getBaseValue(cocos2d::CCNode*, char const*) in CCBAnimationManager.o
      cocos2d::extension::CCBAnimationManager::actionForCallbackChannel(cocos2d::extension::CCBSequenceProperty*) in CCBAnimationManager.o
      cocos2d::extension::CCBAnimationManager::runAnimationsForSequenceIdTweenDuration(int, float) in CCBAnimationManager.o
      CCLabelAttributedBMFont::getCharSpriteFromKeyword(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in CCLabelAttributedBMFont.o
      CCLabelAttributedBMFont::searchKeywordsIndex() in CCLabelAttributedBMFont.o
      ...
  "cocos2d::CCDictionary::removeObjectForKey(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      CCLabelAttributedBMFont::removeKeyWord(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in CCLabelAttributedBMFont.o
      cocos2d::extension::CCArmature::removeBone(cocos2d::extension::CCBone*, bool) in CCArmature.o
      cocos2d::extension::CCArmatureDataManager::removeArmatureData(char const*) in CCArmatureDataManager.o
      cocos2d::extension::CCArmatureDataManager::removeAnimationData(char const*) in CCArmatureDataManager.o
      cocos2d::extension::CCArmatureDataManager::removeTextureData(char const*) in CCArmatureDataManager.o
  "cocos2d::CCDictionary::setObject(cocos2d::CCObject*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      cocos2d::extension::ActionManager::initWithDictionary(char const*, rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > const&, cocos2d::CCObject*) in CCActionManager.o
      PageLayer::init() in PageLayer.o
      cocos2d::extension::CCBAnimationManager::setBaseValue(cocos2d::CCObject*, cocos2d::CCNode*, char const*) in CCBAnimationManager.o
      cocos2d::extension::CCBAnimationManager::setCallFunc(cocos2d::CCCallFunc*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in CCBAnimationManager.o
      cocos2d::extension::CCBReader::readNodeGraph(cocos2d::CCNode*) in CCBReader.o
      cocos2d::extension::CCNodeLoader::onHandlePropTypeFloat(cocos2d::CCNode*, cocos2d::CCNode*, char const*, float, cocos2d::extension::CCBReader*) in CCNodeLoader.o
      cocos2d::extension::CCNodeLoader::onHandlePropTypeInteger(cocos2d::CCNode*, cocos2d::CCNode*, char const*, int, cocos2d::extension::CCBReader*) in CCNodeLoader.o
      ...
(以下省略)


 解決方法

解決するには、cocos2dx.xcodeproj > TARGETS cocos2dx > iOS Deployment Target[Deployment Target]で設定したバージョンに合わせます
もし Deployment Target を「iOS7.0」としているなら、同じく「iOS7.0」に変更するとエラーが発生しなくなります。

0 件のコメント:

コメントを投稿