2014-03-04 37 views
4

我想打印出(編譯期間)消息,告訴我有關Xcode5 C++項目中的一些預處理器設置。我相信沒有這樣做的標準方式(我以前在VC++中使用過技巧)。我可以在Xcode的消息/警告中打印出預處理器值嗎?

如何讓此代碼打印出__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 

回答

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__) 

帽尖(和參考鏈接)到Clang User Manual