我可以在Xcode的消息/警告中打印出预处理器值吗?

Mr.*_*Boy 5 c++ xcode c-preprocessor

我想打印(在编译期间)消息,告诉我有关Xcode5 C ++项目中某些预处理器设置的信息。我相信没有标准的方法可以做到这一点(之前我已经使用VC ++中的技巧来做到这一点)。

如何使此代码打印出的实际值__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__

#   if __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 60000 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
#       define OGRE_PLATFORM OGRE_PLATFORM_APPLE_IOS
#   else
#       define OGRE_PLATFORM OGRE_PLATFORM_APPLE
#   endif
Run Code Online (Sandbox Code Playgroud)

Cla*_*ges 3

这对我有用:

#define STR(X) #X
#define DEFER(M,...) M(__VA_ARGS__)
#pragma message "min version required is " DEFER(STR,__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)
Run Code Online (Sandbox Code Playgroud)

Clang 用户手册的提示(和参考链接)。