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

Mar*_*ark 6 c xcode objective-c

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

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

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

NSObjCRuntime.h: Expected identifier or '(' before '@' token
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢,马克

jus*_*tin 16

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

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

#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif
Run Code Online (Sandbox Code Playgroud)


Jon*_*pan 5

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

您必须确保在预编译头文件中导入的任何 Objective-C 头文件或框架如下所示:

#if defined(__OBJC__)
    #import <Cocoa/Cocoa.h>
    #import <CoreData/CoreData.h>
    #import "MyConstants.h"
    ...
#endif
Run Code Online (Sandbox Code Playgroud)