xcrun: Как добавить в путь поиска заголовков?

Я хочу создать существующее приложение, используя xcrun под Mac OS X 10.9. Приложение интегрируется с libxml. Он поставляется с такими элементами, как:

#include <libxml/parser.h>

Для тестирования я запустил:

echo '#include <libxml/parser.h>' | xcrun clang -xc -v -

что дает мне

#include "..." search starts here:
#include <...> search starts here:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks (framework directory)
End of search list.
<stdin>:1:10: fatal error: 'libxml/parser.h' file not found
#include <libxml/parser.h>

В то время как критические пути поиска заголовков отображаются под xcrun, libxml2 отсутствует. Фактически, libxml/*.h находится в подкаталоге

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include

а именно

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2

Как я могу добавить этот каталог (.../usr/include/libxml2) в путь поиска, соблюдаемый xcrun?


person mrcalvin    schedule 17.01.2014    source источник
comment
Я должен сказать: я хочу добавить его через командную строку, предпочтительно.   -  person mrcalvin    schedule 17.01.2014


Ответы (1)


Щелкните свой проект в верхней части Навигатора проектов, затем убедитесь, что выбрана соответствующая цель. В верхней центральной части экрана нажмите «Настройки сборки». Теперь перейдите в раздел с надписью «Пути поиска» и найдите путь, который вы хотите отредактировать (например, путь поиска фреймворка, путь поиска заголовка, путь поиска библиотеки). Будет несколько столбцов, потому что вы можете настроить эти переменные на уровне проекта, в файле xcconfig, на целевом уровне и т. д., а окончательное значение, которое фильтруется вниз, отображается в столбце «Решено». Выберите любой уровень, который вам подходит, дважды щелкните в поле и введите свой путь.

Примечание. Если в вашем пути есть пробелы, вы должны заключить его в двойные кавычки; ОДНАКО, в настоящее время в Xcode есть ошибка, из-за которой Xcode иногда переинтерпретирует строки пути поиска и дважды экранирует их. Поэтому, когда вы вводите «мой/путь/здесь», Xcode сохраняет его как «мой/путь/здесь», что правильно. Но позже Xcode может сохранить его как \\"мой/путь/здесь\\", что означает, что Xcode пытается извлечь файл из \"мой/путь/здесь\", что приводит к сбою. Так что, если это произойдет, просто избавьтесь от двойного экранирования.

person bgfriend0    schedule 18.01.2014
comment
Спасибо за пошаговое объяснение! Как мне добиться этого во всех проектах и ​​из командной строки (когда или прямо перед запуском xcrun)? - person mrcalvin; 24.01.2014
comment
К сожалению, у меня недостаточно опыта работы с командной строкой, чтобы помочь вам. :( - person bgfriend0; 24.01.2014