当我试图为我从以前的开发人员那里继承的iPhone应用程序编译代码时,我遇到了这个问题。我浏览了几个论坛,似乎罪魁祸首可能是某个地方的#import循环。
首先,有没有什么简单的方法可以找到循环所在的文件?
第二,这绝对不是问题所在。这是完整的错误(截断文件路径,以便更容易在此处查看):
包含在文件中
from [...]/Frameworks/UIKit.framework/Headers/UIView.h:9,
from [...]/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h:8,
from [...]/Frameworks/UIKit.framework/Headers/UIKit.h:11,
from /Users/wbs/Documents/EINetIPhone/EINetIPhone_Prefix.pch:13:
[...]/Frameworks/UIKit.framework/Headers/UIResponder.h:15: error: expected ')' before 'UIResponder'
[...]/Frameworks/UIKit.framework/Headers/UIResponder.h:17: error: expected '{' before '-' token
[...]/Frameworks/UIKit.framework/Headers/UIResponder.h:42: warning: '@end' must appear in an @implementation context
[...]/Frameworks/UIKit.framework/Headers/UIResponder.h:51: error: expected ':' before ';' token
[...]/Frameworks/UIKit.framework/Headers/UIResponder.h:58: error: cannot find interface declaration for 'UIResponder'正如您所看到的,除了这个错误之外,还有其他错误。这些似乎是简单的语法错误,然而,它们出现在苹果的一个UIKit文件中(不是我自己的),所以我严重怀疑苹果的代码是否真的产生了这些错误。
我对如何解决这个问题感到困惑。如果任何人有任何想法,我可以尝试或方法/地方,我可以获得更多关于这个问题的信息,我真的很感激。我对Obj-C和iPhone编码非常陌生。
编辑:
刚刚尝试清理所有目标-它实际上发现了一个额外的警告,但仍然有与上面相同的错误。
我的EINetIPhone_Prefix.pch:
//
// Prefix header for all source files of the 'EINetIPhone' target in the 'EINetIPhone' project
//
#import <Availability.h>
#ifndef __IPHONE_3_0
#warning "This project uses features only available in iPhone SDK 3.0 and later."
#endif
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif编辑#2:
有趣的是,我尝试从前缀文件中删除UIKit导入,并将其放入需要它的特定.m文件中。我仍然得到相同的错误,但现在它们出现在每个试图导入UIKit.h的文件中。有没有可能UIKit搞砸了?
发布于 2010-06-08 08:21:55
执行“清理”(在“构建”菜单下),并确保选中“也删除预编译头文件”。
https://stackoverflow.com/questions/2993264
复制相似问题