错误:参数列表太长:/ Applications / iWork '09 /Pages.app /.../Contents/Resources中的递归头扩展失败

时间:2010-07-19 05:42:13

标签: objective-c iphone

HI,

任何人都可以帮我解决这个错误...... 当我构建我的项目时,它显示以下错误,这是我第一次遇到此错误... “参数列表太长:递归标题扩展失败/ Applications / iWork '09 /Pages.app/Contents/Resources/Templates/Modern Business Cards.template / Contents / Resources。”

〜Raviraja

6 个答案:

答案 0 :(得分:12)

这是一个Xcode“问题”,因为错误是通过在标题搜索路径中进行递归搜索而生成的。我过去通过取消选中标题搜索路径中的“递归”标记,而代替链接到每个目录直接 。可能还有其他(更好的)方法可以解决这个问题,但是当它被一个无法完全解决的路径命中时,Xcode似乎没有正确报告错误。

此处还有一些关于此错误的信息:

Xcode 3.1 problem checking dependencies | Cocoabuilder

有人写道,

  

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

     

Xcode 3.0和。之间的区别   3.1这里是Xcode 3.0会默默地停止扩展递归   搜索路径,如果它太长了   只需使用它计算出的任何东西   到那一点,这将导致   半确定性的(极端的   难以诊断的错误   某些类型的项目。所以现在   如果Xcode无法发出错误,则会发出错误   完全扩展递归搜索   路径。

     

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

     

顺便说一句,有一套较小的   扩张也可能导致   更快的编译时间,   因为它的目录较少   编译器必须在何时搜索   编译每个文件。 (我不知道   这会产生多大的影响   但是,有。)

答案 1 :(得分:3)

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

我的问题出现在Build Settings中,我有这个设置 USER_HEADER_SEARCH_PATHS = ../../**

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

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

答案 2 :(得分:3)

我今天遇到了同样的问题,this answer节省了我的一天。我的建议是确保您的标题搜索路径 库中没有“/ **”或“$(继承)/ **”搜索路径

答案 3 :(得分:0)

Whackadoodle。

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


依赖性分析失败,是吗?

听起来你在项目的某个地方有一个文件引用到iWork模板或一些不应该被引用的类似文件。

答案 4 :(得分:0)

检查依赖项。 参数列表太长:递归标题扩展失败

请检查您的源代码树。 Xcode - 偏好 - 源树。

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

答案 5 :(得分:0)

我知道正确答案已经分享,但我会分享另一种可能出现同样错误的情况。

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