Я получаю следующие ошибки.
libxml/tree.h нет такого файла или каталога
Я уже добавил libxml2.dylib
в свой проект, однако у меня возникают такие проблемы.
Пожалуйста, помогите мне.
Я получаю следующие ошибки.
libxml/tree.h нет такого файла или каталога
Я уже добавил libxml2.dylib
в свой проект, однако у меня возникают такие проблемы.
Пожалуйста, помогите мне.
Следуйте указаниям здесь в разделе "Настройка файла проекта".
Настройка файла проекта
Вам нужно добавить libxml2.dylib в свой проект (не помещайте его в раздел "Ракурсы" ). На Mac, вы найдете его в
/usr/lib/libxml2.dylib
, а для iPhone вы будете хотеть/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/usr/lib/libxml2.dylib
версия.Так как libxml2 является .dylib(не очень дружественным .framework), мы все равно есть еще одно дело. Перейти к настройкам сборки проекта (Project- > Edit Project Settings- > Build) и найдите "Пути поиска". В "Пути поиска заголовков" добавьте следующий путь:
$(SDKROOT)/usr/include/libxml2
Также см. ответ OP.
Добавление libxml2 - большая, жирная, худая боль в заднице. Если вы собираетесь это сделать, сделайте это, прежде чем заходить слишком далеко в проект.
Вам нужно добавить его двумя способами:
Нажмите на свою цель (не ваш проект) и выберите Build Phases
.
Нажмите треугольник раскрытия под названием Link Binary With Libraries
. Нажмите +
, чтобы добавить библиотеку.
Прокрутите список до конца и выберите libxml2.dylib
. Это добавляет библиотеку libxml2 в ваш проект.
Теперь вам нужно рассказать вашему проекту, где его искать три больше.
Выберите Build Settings tab
.
Прокрутите вниз до раздела Linking
.
В столбцах проектов дважды щелкните по строке Other Linker Flags
.
Нажмите +
и добавьте -lxml2
в список.
Еще больше.
На той же вкладке прокрутите вниз до раздела Search Paths
.
В столбце проектов в строке Framework Search Paths
добавьте /usr/lib/libxml2.dylib
.
В Header Search Paths
и строка User Header Search Paths
добавляет $(SDKROOT)/usr/include/libxml2
.
В этих последних двух случаях убедитесь, что путь указан в Debug и Release.
В меню Product
выберите Clean
.
Тогда, если бы я был вами (и давайте посмотрим правде в глаза, я, вероятно,), я бы оставил Xcode и ушел. Когда вы вернетесь и начнете, вам должно быть хорошо идти.
1) добавьте библиотеку libxml2.dylib в мой проект TARGET (Build Phases → Link Binary With Libraries)
2) добавьте "$ (SDKROOT)/usr/include/libxml2" в пути поиска заголовков в TARGET (параметры сборки → пути поиска заголовков)
После этого цель должна успешно сработать.
Вам также нужно добавить /usr/include/libxml2
к вашему пути include.
Составьте ссылку @Matt Ball,
Я нашел следующее полезное для меня.
Вам нужно добавить libxml2.dylib в свой проект (не помещайте его в раздел "Ракурсы" ). На Mac вы найдете его в /usr/lib/libxml2.dylib
, а для iPhone вам понадобится версия /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib
.
Так как libxml2 является .dylib(а не дружественным .framework), нам еще нужно сделать еще одну вещь. Перейдите к настройкам сборки проекта (Project->Edit Project Settings->Build
) и найдите "Search Paths
". В "Пути поиска заголовков" добавьте следующий путь на Mac:
/usr/include/libxml2
У Ray Wenderlich есть сообщение в блоге об использовании gdata, которая решает эту проблему. В основном эти простые шаги:
В XCode выберите Project\Edit Project Settings и убедитесь, что отмечены флажки "Все конфигурации".
Найдите пути "Пути поиска" / "Пути поиска заголовков" и добавьте в список /usr/include/libxml 2.
Наконец, найдите раздел Linking\Other Linker Flags и добавьте -lxml2 в список.
оригинальное сообщение: читать и писать xml-документы с помощью gdataxml
Я нашел то же самое, мне пришлось добавить $(SDKROOT)/usr/include/libxml2 для последнего Xcode (4.3.x). ТАКЖЕ, что заставляло меня крутиться вокруг часами, это факт, что я изменял "TARGET", а не "ПРОЕКТ" (новый интерфейс Xcode настолько сложный, что его легко упускать из виду). Вам нужно изменить PROJECT!
Другое решение. выполните все шаги в пути поиска заголовков и т.д. и убедитесь, что выбранная вами конфигурация в проекте в настройках проекта является правильной. Когда вы дважды щелкаете по настройкам сборки проекта, вы можете изменять настройки распространения, но вы пытаетесь добавить путь поиска заголовка в настройках "Отладка". Поэтому убедитесь, что вы находитесь в правильных настройках. или выберите все настройки
Я обнаружил, что с xCode 4.3.2 мне пришлось ввести $ (SDKROOT)/USR/включать/libxml2 в поле поиска заголовка, а не просто /USR/ включать/libxml2
Как и у Mavericks (OS X 10.9), каталог /usr/include отсутствует. Половина ответов здесь устарела, так как приложение не будет компилироваться, пока вы не отсортируете каталог include.
Я решил проблему создания символической ссылки на MacOSX SDK в терминале, используя следующую команду:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
Теперь приложение снова компилируется.
Я не уверен, в чем разница, но добавьте путь include к проекту, а также к цели.
В Mountain Lion я столкнулся с той же проблемой, которая была решена путем добавления /usr/include/libxml2
для включения путей с флагом "рекурсивный", используйте это, если все выше не является плодотворным.
У меня была эта проблема, когда я снова открыл проект (который был разработан на XCode 3.something на Leopard) после перехода на Snow Leopard и XCode 3.2. Любопытно, что это повлияло только на некоторые виды сборок (сборки эмуляторов прошли отлично, ошибки устройства дали мне ошибку). И у меня есть libxml2 в /usr/include, и он действительно содержит libxml/tree.h.
Даже магия "Чистота" не сработала, но "Пустые кеши..." в меню "XCode" (между логотипом Apple и файлом) сделал трюк (было ли это меню в предыдущих версиях?). Избивает меня по причине, но после чистых больше не было жалоб относительно libxml/tree.h
Также выберите "Всегда искать пользовательские пути" в YES. В XCode 4.3.3 его по умолчанию NO
Пожалуйста, выполните следующие действия
Добавление libxml2
libxml2.dylib можно найти на вашем компьютере Mac по адресу /usr/lib/libxml 2.dylib
Изменить "Пути поиска заголовков"
Нажмите [Название проекта] (на левой панели) → Проект → Настройки сборки → Выбрать все (по умолчанию - базовое)
Поиск путей заголовка заголовка в окне поиска
Дважды щелкните по пути поиска заголовков → + → "$ (SDKROOT)/usr/include/libxml2"
Добавить -lxml2 в "Другой флаг компоновщика"
Найдите "Другие флаги компоновщика" в качестве поиска на шаге 2
нажмите на строку "Другие метки флагов". Нажмите "+" и добавьте "-lxml2" в список.
Измените тип проекта на ARC → Нет i.e Автоматический подсчет ссылок на Нет Вы можете выполнить поиск ARC согласно шагу 2
Xcode 4.5 Я полностью использовал решение CW. Единственное исключение состоит в том, что $(SDKROOT)/usr/include/libxml2 не работал у меня, и мне пришлось добавить "$ (SDK_DIR)" /usr/include/libxml 2 в мои проекты Контуры поиска заголовков и Пути поиска заголовка пользователя. После этого проект будет успешно выполнен.
EDIT: у меня есть проект Google GData внутри моего проекта (так называемый MyProject) (мой проект использует). Для GData требуется libxml. Чтобы успешно скомпилировать проект MyProject, я добавляю "$ (SDK_DIR)" /usr/include/libxml 2 в пути поиска заголовков MyProject и нет в пути поиска заголовков в GDatastrong > . Если я не добавил его в MyProject, проект не построил).
Я нашел этот визуальный учебник.
Blockquote Добавление libxml2 в Xcode 4.3.x
Добавление libxml2 - большая, жирная, худая боль в заднице. Если вы сделаете это, сделайте это, прежде чем вы заходите слишком далеко в построение своего проекта.
Вот как.
Настройки цели
Нажмите на свою цель (не ваш проект) и выберите "Сформировать фазы". Нажмите на раскрывающийся треугольник под названием "Link Binary With Libraries". Нажмите "+", чтобы добавить библиотеку. Выделите нижнюю часть списка и выберите "libxml2.dylib". Это добавит библиотеку libxml2 вашего проекта... но подождите.
Настройки проекта
Теперь вам нужно рассказать вашему проекту, где его искать еще три раза.
Выберите вкладку "Настройка параметров". Прокрутите вниз до раздела "Связывание". Под столбцами проекта дважды щелкните по строке "Другие метки флагов". Нажмите "+" и добавьте "-lxml2" в список.
Еще больше.
На той же вкладке прокрутите страницу вниз до раздела "Пути поиска". В столбце проекта в строке "Пути поиска в Framework" добавьте "/usr/lib/libxml2.dylib".
В "Пути поиска заголовков" и в строке "Пути поиска заголовка пользователя" добавить "$ (SDKROOT)/usr/include/libxml2". В этих последних двух случаях убедитесь, что путь введен в Debug AND Release.
Тогда. В меню "Продукт" выберите "Очистить".
Это работает и для Xcode5 тоже! Спасибо!
Не помещайте libxml2.dylib в фреймворк папку под ним под root чуть ниже корня (верхний левый синий значок)
Затем нажмите кнопку "Проект" (верхний левый синий значок), "GO to Build Settings", в поле поиска введите "Path Search Paths" и добавьте этот "$ (SDKROOT)/usr/include/libxml2"
Этот код разрешает мою проблему, надеюсь, что это поможет вам исправить этот
@Aqib Mumtaz - я получил его работу, следуя инструкциям в примечании Parris выше, озаглавленном "Добавление libxml2 в Xcode 4.3/5/6". Шаг в использовании пути поиска по базе данных не работает, и компилятор жалуется. Огромное удовольствие этому парню в любом случае!
Я использую Xcode 6.2b3
Независимо от версии Xcode, которую вы используете, она не работает. Не всегда предполагайте, что ошибки компиляции реальны. Существует много раз, когда он не отслеживает пути поиска заголовков и содержит четко перечисленные не найдены. Хуже того, ошибки, которые приводят к тому, что они указывают на вас в разных направлениях, так что вы тратите много времени на то, чтобы отвлекаться. С этим сказал...
Рекомендуйте детские шаги, начиная с этого точно:
Примечания:
надеюсь, что это поможет.
Если вы, вероятно, что-то развиваете для ветеранов, о, скажем, iPhone/iPad или Mac, и работаете против чего-то, называемого "MDWS" или "VIA", которые являются интерфейсами на основе SOAP для медицинской системы записи... пожалуйста свяжитесь со мной
1) Я добавил файл libxml в Build Phases. Следуйте этой ссылке
2) Я добавил Другие флаги компоновщика как -ObjC
(как для целей проекта, так и для целей тестирования)
3) Я устанавливаю путь поиска заголовка как "${SDKROOT}/usr/include/libxml2"
(не забывайте двойную кавычку в любой из сторон) (как для целей проекта, так и для целей тестирования)
Один из них решит проблему. Если нет, вам нужно применить все три из вышеперечисленных.
i hardt я добавил неправильно, тогда я понимаю, что проблема не в поддержке дуги, поэтому проверьте поддержку здесь, спасатель жизни → http://www.michaelbabiy.com/arc-compliant-gdataxml-library/