为什么构建无法编译并且无法识别* pch中的__OBJC__宏?

时间:2014-01-29 13:15:04

标签: ios objective-c

我们将共享组件的头文件存储在* .pch文件内,__ OBJC __:

#ifdef __OBJC__
  #import <UIKit/UIKit.h>
  #import <Foundation/Foundation.h>
  #import "Constants.h"
  // other headers goes there
#endif

我知道这个宏用于告诉编译器这些类需要运行objc但有时会发生非常奇怪的问题 - __ OBJC__无法识别,所以整个应用程序都看不到这些共享头文件,因此会出现大量错误。但我想象不出这是怎么发生的。有时,通过注释ifdef __ OBJC__,构建,然后取消注释和构建(魔术),问题就会消失。但有时它需要更长的时间 - 我整个晚上都在拉我的头发,但今天它再次起作用。关闭并打开Xcode没有帮助,清理构建和删除DerivedData也是如此。我正在使用最新的Xcode版本(5.0.2),项目“架构”设置为“标准架构(包括64位)”。希望知道为什么会这样。

1 个答案:

答案 0 :(得分:1)

你的所有文件都以.m结尾吗?或者是一些.c或.cc?