在我的应用中,我正在执行以下步骤
1)创建.h文件Say,GlobalMacros.h
在GlobalMacros.h中
#define IP_ADDR @“SERVER_IP”
2)在我的应用.pch文件
中import “GlobalMacros.h”
然后在其他类中,我在iOS中使用此IP_ADDR宏< 5.0没有问题,但在iOS> 5.0中我收到错误使用未声明的标识符IP_ADDR
答案 0 :(得分:3)
原因之一是:
如果构建版本低于iOS5,则.pch file
进行一些#if
测试,有条件地包含#import "GlobalMacros.h"
GlobalMacros.h
文件中包含条件#if
某些标头或源文件中包含#if
语句,该语句取消定义IP_ADDR
在小于iOS5的项目中,.pch
文件使用的是不同的GlobalMacros.h
文件,而不是其中定义了IP_ADDR
的文件
编辑:我应该在Xcode4.5
中添加,我将此全局宏文件包含在我的.pch
文件中。出于某种原因,预处理器变得混乱,源代码编辑器在许多文件中显示未知的宏,似乎是随机的。我正在做的是当我收到错误时,将全局宏文件添加到受影响的文件中。