3

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

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

在 GlobalMacros.h

#define IP_ADDR @“SERVER_IP”

2)在我的应用程序 .pch 文件中

import “GlobalMacros.h”

然后在其余的其他类中,我在 iOS<5.0 中使用这个 IP_ADDR 宏没有问题,但在 iOS>5.0 中,我在使用未声明的标识符 IP_ADDR 时出现错误

4

1 回答 1

3

原因是其中之一:

  • .pch file一些#if测试有条件地包括#import "GlobalMacros.h"构建版本是否低于 iOS5

  • 该文件中GlobalMacros.h有条件#if

  • 某些头文件或源文件中包含#if取消定义的语句IP_ADDR

  • 在小于 iOS5 的项目中,该.pch文件使用的是不同的GlobalMacros.h文件,而不是其中包含IP_ADDR定义的文件

编辑:我应该Xcode4.5在我的文件中添加这个全局宏.pch文件。由于某种原因,预处理器变得混乱,源代码编辑器在许多文件中显示未知宏,似乎是随机的。我正在做的是当我得到错误时,将全局宏文件添加到受影响的文件中。

于 2012-08-30T17:59:18.660 回答