将空的.c文件添加到Xcode Cocoa项目会导致数千个错误

时间:2011-05-12 19:06:20

标签: objective-c c xcode

我的Cocoa应用程序有一个Xcode项目。到目前为止,这都是Objective-C。

从菜单添加新的.c文件后,问题开始了(添加C文件和标题):test.c和header test.h。

当我尝试编译项目时,现在有成千上万的错误。所有这些都是关于语法错误的抱怨。例如:

NSObjCRuntime.h: Expected identifier or '(' before '@' token

新文件test.ctest.h都不包含任何代码,只包含默认标题注释。我的项目配置必须真正打破一些东西。当我删除这两个文件时,项目编译得很好。

项目语言设置为C99。还有什么我可以检查的吗?

谢谢, 标记

2 个答案:

答案 0 :(得分:16)

如果您编译的文件不包含任何内容,那么您的问题可能出现在前缀标题中(扩展名:pch)

所以你只需根据语言(在pch中)包装你的库:

#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif

答案 1 :(得分:4)

检查您的.pch文件。它导入了一些Objective-C头而没有适当的预处理器防护。

您必须确保在预编译头中导入的任何Objective-C标头或框架看起来像这样:

#if defined(__OBJC__)
    #import <Cocoa/Cocoa.h>
    #import <CoreData/CoreData.h>
    #import "MyConstants.h"
    ...
#endif