Ошибка: список аргументов слишком длинный: сбой рекурсивного заголовка не удался/Приложения/iWork '09/Pages.app/.../Contents/Resources

HI,

Может ли кто-нибудь помочь мне решить эту ошибку... Когда я строю свой проект, он показывает следующую ошибку: это первый раз, когда сталкиваются с этой ошибкой... "Список аргументов слишком длинный: сбой рекурсивного заголовка не удался /Applications/iWork '09/Pages.app/Contents/Resources/Templates/Modern Business Cards.template/Contents/Resources."

~ Raviraja

Ответ 1

Это проблема Xcode, поскольку ошибка возникает из-за рекурсивного поиска в пути поиска заголовка. Я решил это в прошлом, сняв флажок "Рекурсивный" на элементах в пути поиска заголовка и вместо этого напрямую связывается с каждым каталогом. Могут быть другие (лучшие) способы решения этой проблемы, но, похоже, это ошибка, когда Xcode неправильно сообщает об ошибке, когда на нее попадает путь, который он не может полностью решить.

Здесь также есть информация об этой ошибке:

Проблемы с проверкой проблем Xcode 3.1 | Cocoabuilder

Там кто-то написал,

Так как GCC не поддерживает рекурсивные пути поиска, Xcode имитирует их, расширяя путь в дискретный -I или -F или -L флаг для каждого каталога под родительский каталог, но это может быстро расширяться до такой степени, что это приводит к слишком длинная строка командной строки.

Разница между Xcode 3.0 и 3.1 показано, что Xcode 3.0 молча останавливает расширение рекурсивного путь поиска, если он слишком длинный и просто используйте то, что он вычислил к этому моменту, что приведет к полудетерминистский (и чрезвычайно трудно диагностировать) ошибки для определенные типы проектов. А сейчас Xcode испускает ошибку, если не удалось полностью расширить рекурсивный поиск путь.

Поэтому вам может потребоваться удалить рекурсивный путь поиска или изменить его на развернуть на меньший набор каталогов или преобразовать их в меньший набор нерекурсивного поиска пути. Или, поочередно, реорганизовать у вашего источника меньше каталогов путь может расширяться до.

Кстати, имея меньший набор расширения могут также привести к несколько быстрее сбор времени, поскольку меньше каталогов, компилятор должен искать, когда компиляция каждого файла. (Я не знаю масштаб воздействия хотя, хотя.)

Ответ 2

Сегодня у меня была такая же ошибка.

Моя проблема была в настройках сборки, где у меня был этот параметр
USER_HEADER_SEARCH_PATHS =../../**

Поскольку я перемещал проект в файловой системе, родительский-родительский каталог больше не указывал на корень проекта, но вместо этого указывал на папку со всеми проектами, которые я когда-либо делал.

Я решил это, изменив его, чтобы указать корневую папку проекта, например:
USER_HEADER_SEARCH_PATHS =../**

Ответ 3

У меня была такая же проблема сегодня, и этот ответ сохранил мой день. Мое предложение состоит в том, чтобы убедиться, что у вас нет "/**" или "$ (унаследовано)/**" в Контексте поиска заголовков и пути поиска библиотеки.

Ответ 4

Whackadoodle.

Перейдите в журнал сборки и получите полное сообщение об ошибке. Он должен дать вам больше информации о том, что происходит, когда ошибка была устранена.


Ошибка анализа зависимости, да?

Похоже, что у вас есть ссылка на файл где-то в проекте на шаблон iWork или на какой-то похожий файл, на который нельзя ссылаться.

Ответ 5

Проверьте зависимости. Слишком длинный список аргументов: ошибка рекурсивного расширения заголовка

Проверьте исходное дерево. Xcode - Предпочтение - Дерево источников.

Я также столкнулся с одной и той же проблемой. Код компилировался на моем mac, но давал ошибку при компиляции на другом mac.  Найдено решение, внося изменения в исходное дерево.

Ответ 6

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

У меня была такая же проблема, в моем случае была связана с Derived Data. После очистки папки Derived Data проблема исчезла.