IOS: Ошибки при компиляции projet с помощью MGTwitterEngine

#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:

  1. Добавьте libxml2.dylib в другие фреймворки. Вы найдете библиотеку в:

    /Разработчик/ Платформы/iPhoneOS.platform/Разработчик/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib

  2. Добавьте «$ SDKROOT / usr /include / libxml2» в качестве пути поиска заголовка в настройках вашего проекта.

Комментарии:

1. я уже сделал это, в противном случае, я думаю, если бы не компилировался в симуляторе, есть ли какие-либо конкретные действия для устройств?

Ответ №2:

Я столкнулся с такой же проблемой несколько дней назад, и я следую приведенным ниже шагам:

  • Вам просто нужно добавить фреймворк libxml2.dylib.
  • и добавьте /usr/include/libxml2 в путь поиска заголовка.

У меня это сработало.

Ответ №3:

Заменена библиотека на libxml2.dylib на libxml2.2.dylib

Проблема решена.