#iphone #ios #libxml2 #mgtwitterengine
#iPhone #iOS #libxml2 #mgtwitterengine
Вопрос:
я получаю эту ошибку на некоторых компьютерах при компиляции моего проекта:
Undefined symbols for architecture armv6:
"_xmlFree", referenced from:
-[MGTwitterLibXMLParser initWithXML:delegate:connectionIdentifier:requestType:responseType:URL:] in MGTwitterLibXMLParser.o
-[MGTwitterLibXMLParser _nodeValueAsString] in MGTwitterLibXMLParser.o
-[MGTwitterLibXMLParser _nodeValueAsDate] in MGTwitterLibXMLParser.o
-[MGTwitterLibXMLParser _nodeValueAsInt] in MGTwitterLibXMLParser.o
-[MGTwitterLibXMLParser _nodeValueAsBool] in MGTwitterLibXMLParser.o
Он отлично компилируется в режиме симулятора, но не для устройств (ios 4.3)
Как избавиться от этого?
Ответ №1:
Добавьте фреймворк libxml2 в свою цель.
В Xcode 3 вы делаете это, щелкнув правой кнопкой мыши фреймворки на боковой панели и выбрав «Добавить существующий фреймворк». Я не знаю, как вы это делаете в Xcode 4, извините.
Из MGTwitterEngine readme:
Добавьте libxml2.dylib в другие фреймворки. Вы найдете библиотеку в:
/Разработчик/ Платформы/iPhoneOS.platform/Разработчик/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib
Добавьте «$ SDKROOT / usr /include / libxml2» в качестве пути поиска заголовка в настройках вашего проекта.
Комментарии:
1. я уже сделал это, в противном случае, я думаю, если бы не компилировался в симуляторе, есть ли какие-либо конкретные действия для устройств?
Ответ №2:
Я столкнулся с такой же проблемой несколько дней назад, и я следую приведенным ниже шагам:
- Вам просто нужно добавить фреймворк libxml2.dylib.
- и добавьте /usr/include/libxml2 в путь поиска заголовка.
У меня это сработало.
Ответ №3:
Заменена библиотека на libxml2.dylib
на libxml2.2.dylib
Проблема решена.