我有一个C ++代码部分,我想将其排除在构建iOS之外。
我该怎么做?
跟进问题:
如果我已经有#ifndef WIN32
。我希望将WIN32
与iOS
排除在一起,是否可以执行#ifndef WIN32 & iOS
之类的操作?
我应该如何排除代码Win32
& iOS
只有一个条款?
PS:
我看到很多帖子解释了如何#ifndef
iOS,但如何将其与#ifndef WIN32
进行梳理是个问题。
答案 0 :(得分:3)
要排除在WIN32和iOS上构建代码,您需要使用#if/#endif
而不是#ifndef/#endif
。如果您尚未定义宏来检测iOS的编译,请查看此answer。否则,可以通过以下方式进行预防:
#if !defined(WIN32) && !defined(YOUR_IOS_MACRO_HERE)
// Your code here
#endif // !defined(WIN32) && !defined(YOUR_IOS_MACRO_HERE)
您使用#if
而不是#ifndef
的原因是前者允许多个语句与&&
或||
相关联,而后者仅检查是否存在一个宏。