在我的应用中,我正在执行以下步骤

1)创建一个.h文件说,GlobalMacros.h

在GlobalMacros.h中

#define IP_ADDR @“SERVER_IP”

2)在我的应用程序.pch文件中
import “GlobalMacros.h”

然后在其余的其他类中,我在iOS 5.0中,我得到了错误,使用了未声明的标识符IP_ADDR

最佳答案

原因是其中之一:

  • .pch file进行了一些#if测试,如果构建版本低于iOS5则有条件地包括#import "GlobalMacros.h"
  • GlobalMacros.h文件中包含条件#if
  • 某些标头或源文件中包含#if语句,该语句未定义IP_ADDR
  • 在小于iOS5的项目中使用
  • .pch文件使用的是另一种GlobalMacros.h文件,而不是在其中定义了IP_ADDR的文件

  • 编辑:我应该在Xcode4.5中添加它,我的.pch文件中包含此全局宏文件。由于某种原因,预处理器会感到困惑,并且源代码编辑器正在许多文件中似乎随机地显示未知宏。我正在做的是,当我遇到错误时,将全局宏文件添加到受影响的文件中。

    关于iphone - 对宏使用未声明的标识符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12198336/

    10-11 23:04