我的Cocoa应用程序有一个Xcode项目。到目前为止,这都是Objective-C。
从菜单添加新的.c文件后,问题开始了(添加C文件和标题):test.c和header test.h。
当我尝试编译项目时,现在有成千上万的错误。所有这些都是关于语法错误的抱怨。例如:
NSObjCRuntime.h: Expected identifier or '(' before '@' token
新文件test.c
和test.h
都不包含任何代码,只包含默认标题注释。我的项目配置必须真正打破一些东西。当我删除这两个文件时,项目编译得很好。
项目语言设置为C99。还有什么我可以检查的吗?
谢谢, 标记
答案 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