我移植的iPhone游戏到Mac和我正在写有共同定义了一个文件,该文件有以下几点:移植的C代码的#ifdef和的#ifndef(C预处理器)
// first reset all defines
#undef TARGET_IPHONE
#undef TARGET_MAC
// set defines
#if TARGET_OS_MAC
#if TARGET_OS_IPHONE
#define TARGET_IPHONE
#else
#define TARGET_MAC
#endif
#endif
#ifdef TARGET_IPHONE
#error err1
#endif
#ifndef TARGET_IPHONE
#error err2
#endif
但是建立时对于iPhone,编译器会引发err1和err2。
我不明白,那里有什么问题?
编辑:经过大约一个小时的尝试没有运气的事情,我不得不将自己的定义添加到xcode构建选项。
只是一个快速代码可读性提示:您可以在'#'和指令本身之间放置空格(即'#if ...'),从而实现对正常缩进的合理模拟。 – 2011-03-06 21:34:42
提交错误报告。 – 2011-03-07 01:15:05