复制别人的,不过好用亲测过。
Undefined symbols for architecture armv7:"cocos2d::CCDictionary::removeObjectForKey(std::__1::basic_string, std::__1::allocator> const&)", referenced from:tolua_Cocos2d_CCDictionary_removeObjectForKey00(lua_State*) in liblua.a(LuaCocos2d.o)tolua_Cocos2dx_ActionTimeline_clearFrameEventCallFunc00(lua_State*) in liblua.a(lua_cocos2dx_cocostudio_manual.o)cocostudio::timeline::ActionTimelineCache::removeAction(std::__1::basic_string, std::__1::allocator> const&) in libextensions.a(CCActionTimelineCache.o)cocos2d::extension::CCArmature::removeBone(cocos2d::extension::CCBone*, bool) in libextensions.a(CCArmature.o)cocos2d::extension::CCArmatureDataManager::removeArmatureData(char const*) in libextensions.a(CCArmatureDataManager.o)cocos2d::extension::CCArmatureDataManager::removeAnimationData(char const*) in libextensions.a(CCArmatureDataManager.o)cocos2d::extension::CCArmatureDataManager::removeTextureData(char const*) in libextensions.a(CCArmatureDataManager.o)..."non-virtual thunk to cocos2d::CCTextFieldTTF::getContentText()", referenced from:vtable for cocos2d::ui::UICCTextField in libextensions.a(UITextField.o)"cocos2d::CCDictionary::valueForKey(std::__1::basic_string, std::__1::allocator> const&)", referenced from:tolua_Cocos2d_CCDictionary_valueForKey00(lua_State*) in liblua.a(LuaCocos2d.o)"non-virtual thunk to cocos2d::CCTextFieldTTF::attachWithIME()", referenced from:vtable for cocos2d::ui::UICCTextField in libextensions.a(UITextField.o)"non-virtual thunk to cocos2d::CCTextFieldTTF::detachWithIME()", referenced from:vtable for cocos2d::ui::UICCTextField in libextensions.a(UITextField.o)"cocos2d::CCString::create(std::__1::basic_string, std::__1::allocator> const&)", referenced from:cocos2d::extension::CCControlButton::initWithLabelAndBackgroundSprite(cocos2d::CCNode*, cocos2d::extension::CCScale9Sprite*) in libextensions.a(CCControlButton.o)cocos2d::extension::CCControlButton::getTitleForState(unsigned int) in libextensions.a(CCControlButton.o)cocos2d::extension::CCControlButton::setTitleTTFForState(char const*, unsigned int) in libextensions.a(CCControlButton.o)cocos2d::extension::CCControlButton::setTitleBMFontForState(char const*, unsigned int) in libextensions.a(CCControlButton.o)cocos2d::extension::CCBAnimationManager::addDocumentCallbackName(std::__1::basic_string, std::__1::allocator>) in libextensions.a(CCBAnimationManager.o)cocos2d::extension::CCBAnimationManager::addDocumentOutletName(std::__1::basic_string, std::__1::allocator>) in libextensions.a(CCBAnimationManager.o)cocos2d::extension::CCBReader::readCallbackKeyframesForSeq(cocos2d::extension::CCBSequence*) in libextensions.a(CCBReader.o)..."non-virtual thunk to cocos2d::CCTextFieldTTF::canAttachWithIME()", referenced from:vtable for cocos2d::ui::UICCTextField in libextensions.a(UITextField.o)"non-virtual thunk to cocos2d::CCTextFieldTTF::canDetachWithIME()", referenced from:vtable for cocos2d::ui::UICCTextField in libextensions.a(UITextField.o)"cocos2d::CCFileUtils::getPathForFilename(std::__1::basic_string, std::__1::allocator> const&, std::__1::basic_string, std::__1::allocator> const&, std::__1::basic_string, std::__1::allocator> const&)", referenced from:vtable for CFileUtilsZpk in FileUtilsZpk.o"cocos2d::CCDictionary::objectForKey(std::__1::basic_string, std::__1::allocator> const&)", referenced from:cocos2d::extension::CCBAnimationManager::getBaseValue(cocos2d::CCNode*, char const*) in libextensions.a(CCBAnimationManager.o)cocos2d::extension::CCBAnimationManager::actionForCallbackChannel(cocos2d::extension::CCBSequenceProperty*) in libextensions.a(CCBAnimationManager.o)cocos2d::extension::CCBAnimationManager::runAnimationsForSequenceIdTweenDuration(int, float) in libextensions.a(CCBAnimationManager.o)tolua_Cocos2d_CCDictionary_objectForKey00(lua_State*) in liblua.a(LuaCocos2d.o)cocostudio::timeline::NodeReader::loadNode(rapidjson::GenericValue, rapidjson::MemoryPoolAllocator> const&, cocos2d::CCNode*) in libextensions.a(CCNodeReader.o)cocostudio::timeline::ActionTimelineCache::createAction(std::__1::basic_string, std::__1::allocator> const&) in libextensions.a(CCActionTimelineCache.o)cocostudio::timeline::ActionTimelineCache::loadAnimationActionWithContent(std::__1::basic_string, std::__1::allocator> const&, std::__1::basic_string, std::__1::allocator> const&) in libextensions.a(CCActionTimelineCache.o)..."cocos2d::CCFileUtilsIOS::getFullPathForDirectoryAndFilename(std::__1::basic_string, std::__1::allocator> const&, std::__1::basic_string, std::__1::allocator> const&)", referenced from:vtable for CFileUtilsZpk in FileUtilsZpk.o"cocos2d::CCFileUtilsIOS::writeToFile(cocos2d::CCDictionary*, std::__1::basic_string, std::__1::allocator> const&)", referenced from:vtable for CFileUtilsZpk in FileUtilsZpk.o"cocos2d::CCUserDefault::getStringForKey(char const*, std::__1::basic_string, std::__1::allocator> const&)", referenced from:NewAccMainMenu::loadAccInfo() in LoginMenu.oQuestGuideMenu::LoadConfig() in MapGuideMenu.o"cocos2d::CCFileUtilsIOS::createCCArrayWithContentsOfFile(std::__1::basic_string, std::__1::allocator> const&)", referenced from:vtable for CFileUtilsZpk in FileUtilsZpk.o"cocos2d::CCPointArray::setControlPoints(std::__1::vector>*)", referenced from:tolua_Cocos2d_CCPointArray_setControlPoints00(lua_State*) in liblua.a(LuaCocos2d.o)"cocos2d::CCUserDefault::setStringForKey(char const*, std::__1::basic_string, std::__1::allocator> const&)", referenced from:NewAccMainMenu::SaveAccInfo() in LoginMenu.oQuestGuideMenu::SaveConfig() in MapGuideMenu.otolua_Cocos2d_CCUserDefault_setStringForKey00(lua_State*) in liblua.a(LuaCocos2d.o)"cocos2d::CCDictionary::setObject(cocos2d::CCObject*, std::__1::basic_string, std::__1::allocator> const&)", referenced from:
addValueToCCDict(objc_object*, objc_object*, cocos2d::CCDictionary*) in FMLayerWebView.o
cocos2d::extension::CCBAnimationManager::setBaseValue(cocos2d::CCObject*, cocos2d::CCNode*, char const*) in libextensions.a(CCBAnimationManager.o)
cocos2d::extension::CCBReader::readNodeGraph(cocos2d::CCNode*) in libextensions.a(CCBReader.o)
cocos2d::extension::CCNodeLoader::onHandlePropTypeFloat(cocos2d::CCNode*, cocos2d::CCNode*, char const*, float, cocos2d::extension::CCBReader*) in libextensions.a(CCNodeLoader.o)
cocos2d::extension::CCNodeLoader::onHandlePropTypeInteger(cocos2d::CCNode*, cocos2d::CCNode*, char const*, int, cocos2d::extension::CCBReader*) in libextensions.a(CCNodeLoader.o)
cocos2d::extension::CCNodeLoader::onHandlePropTypeCheck(cocos2d::CCNode*, cocos2d::CCNode*, char const*, bool, cocos2d::extension::CCBReader*) in libextensions.a(CCNodeLoader.o)
cocos2d::extension::CCNodeLoader::onHandlePropTypeString(cocos2d::CCNode*, cocos2d::CCNode*, char const*, char const*, cocos2d::extension::CCBReader*) in libextensions.a(CCNodeLoader.o)
...
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Showing first 200 warnings only
这个也是比较多出现的问题,找不到所要的符号。但是其实我的.a静态库是存在的,并且也包含了
解决方案:
1. 将游戏项目的 Deployment Target 改成7.0以下
2. 将cocos2dx重新编译一遍, Build Settings->Apple LLVM *.0 -Language -C++ 按下面配置
其他cocosDenshion和extensions也按这个配置
然后该问题解决