【问题标题】:Error: Argument list too long: recursive header expansion failed at /Applications/iWork '09/Pages.app/.../Contents/Resources错误:参数列表太长:递归标头扩展在 /Applications/iWork '09/Pages.app/.../Contents/Resources 失败
【发布时间】:2010-07-19 05:42:13
【问题描述】:

当我构建我的项目时,它显示以下错误。这是我第一次遇到这个错误:

参数列表太长:递归标头扩展在 /Applications/iWork '09/Pages.app/Contents/Resources/Templates/Modern Business Cards.template/Contents/Resources 失败。

我该如何解决这个问题?

【问题讨论】:

    标签: objective-c iphone


    【解决方案1】:

    这是一个 Xcode“问题”,因为在您的标头搜索路径中进行递归搜索会产生错误。我过去通过取消选中 标题搜索路径 中的项目上的“递归”标志和 而不是链接到每个目录直接解决了这个问题.可能有其他(更好的)方法可以解决这个问题,但它似乎是一个错误,当 Xcode 遇到无法完全解决的路径时无法正确报告错误。

    这里也有一些关于这个错误的信息:

    Xcode 3.1 problem checking dependencies | Cocoabuilder

    有人写了,

    由于 GCC 本身不支持 递归搜索路径,Xcode 通过扩展这样的一个来模拟它们 路径进入离散的 -I 或 -F 或 -L 每个目录下的标志 父目录,但这可以快速 扩大到它导致的程度 命令行太长,无法发出。

    Xcode 3.0 和 Xcode 的区别 3.1 这里是 Xcode 3.0 会默默地停止扩展递归 搜索路径是否太长并且 简单地使用它计算出来的任何东西 到那时,这将导致 半确定性(并且非常 难以诊断)错误 某些类型的项目。所以现在 如果 Xcode 无法执行,则 Xcode 会发出错误 全面展开递归搜索 路径。

    所以你可能需要删除它 递归搜索路径,或修改为 扩展到更小的一组 目录,或将其转换为 较小的非递归搜索集 路径。或者,或者,重新组织 你的来源有更少的目录 路径可以扩展到。

    顺便说一下,有一个较小的集合 扩张也可能导致 更快的编译时间, 因为它的目录更少 编译器必须在何时搜索 编译每个文件。 (我不知道 这将造成的影响程度 不过有。)

    【讨论】:

      【解决方案2】:

      我今天遇到了同样的错误。

      我的问题出在我有此设置的构建设置中
      USER_HEADER_SEARCH_PATHS = ../../**

      由于我在文件系统中移动了项目,因此 parent-parent-dir 不再指向项目的根目录,而是指向包含我曾经创建的所有项目的文件夹。

      我通过将其更改为指向项目的根文件夹来解决它,如下所示:
      USER_HEADER_SEARCH_PATHS = ../**

      【讨论】:

        【解决方案3】:

        我今天遇到了同样的问题,this answer 拯救了我的一天。我的建议是确保您的 Header Search Paths and Library 中没有“/**”或“$(inherited)/**”搜索路径

        【讨论】:

          【解决方案4】:

          检查依赖关系。 参数列表太长:递归头扩展失败

          请检查您的源代码树。 Xcode - 首选项 - 源代码树。

          我也遇到了同样的问题。代码在我的 mac 上编译,但在另一台 mac 上编译时出错。 通过更改源代码树找到了解决方案。

          【讨论】:

            【解决方案5】:

            我知道已经分享了正确答案,但我将分享另一个可能出现相同错误的场景。

            在我的案例中,我遇到了与派生数据有关的同样问题。清理 Derived Data 文件夹后,问题就消失了。

            【讨论】:

              【解决方案6】:

              转到构建日志并获取完整的错误消息。它应该为您提供更多信息,了解引发错误时究竟发生了什么。


              依赖分析失败吧?

              听起来您在项目中的某处有对 iWork 模板或不应被引用的类似文件的文件引用。

              【讨论】:

              • 检查依赖项参数列表太长:递归标头扩展在 /Applications/iWork '09/Pages.app/Contents/Resources/Templates/Modern Business Cards.template/Contents/Resources 失败。这就是我在构建结果中得到的...
              猜你喜欢
              • 1970-01-01
              • 2011-03-30
              • 2019-04-28
              • 1970-01-01
              • 1970-01-01
              • 2019-11-15
              • 1970-01-01
              • 2017-11-15
              • 2015-06-25
              相关资源
              最近更新 更多