向 Xcode Cocoa 项目添加一个空的 .c 文件会导致数千个错误
Posted
技术标签:
【中文标题】向 Xcode Cocoa 项目添加一个空的 .c 文件会导致数千个错误【英文标题】:Adding an empty .c file to Xcode Cocoa project causes thousands of errors 【发布时间】:2011-05-12 19:06:20 【问题描述】:我的 Cocoa 应用程序有一个 Xcode 项目。到目前为止都是 Objective-C。
我从菜单中添加了一个新的 .c 文件(添加 C 文件和头文件)后问题开始了:test.c 和头文件 test.h。
当我现在尝试编译项目时,出现了数千个错误。所有这些都是对语法错误的抱怨。例如:
NSObjCRuntime.h: Expected identifier or '(' before '@' token
test.c
和 test.h
这两个新文件不包含任何代码,仅包含默认标头 cmets。我的项目配置一定有什么问题。当我删除这两个文件时,项目编译得很好。
项目语言设置为 C99。还有什么我可以检查的吗?
谢谢, 标记
【问题讨论】:
【参考方案1】:如果你编译的文件什么都不包含,那么你的问题很可能出在前缀头(扩展名:pch)
所以您只需根据语言(在 pch 中)包装您的库包含:
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif
【讨论】:
太棒了,谢谢。【参考方案2】:检查您的.pch
文件。它正在导入一些没有适当预处理器保护的 Objective-C 标头。
您必须确保在您的预编译头文件中导入的任何 Objective-C 头文件或框架看起来像这样:
#if defined(__OBJC__)
#import <Cocoa/Cocoa.h>
#import <CoreData/CoreData.h>
#import "MyConstants.h"
...
#endif
【讨论】:
以上是关于向 Xcode Cocoa 项目添加一个空的 .c 文件会导致数千个错误的主要内容,如果未能解决你的问题,请参考以下文章
Xcode6 中的 Swift 类与 Cocoa Touch 类