如何将 ifndef win32 与 ifndef iOS 结合使用

How to combine ifndef win32 with ifndef iOS

本文关键字:ifndef 结合 iOS win32      更新时间:2023-10-16

我有一个C++代码部分,我想将其从构建iOS中排除。

我应该怎么做?

后续问题:
如果我已经有#ifndef WIN32.我想将排除WIN32iOS结合起来,是否可以做类似#ifndef WIN32 & iOS的事情?
我应该如何在一个子句中排除我的代码,使其无法构建Win32iOS

附注:
我看到很多帖子解释如何#ifndef iOS但是我如何将其与#ifndef WIN32相结合是问题所在。

要排除在 WIN32 和 iOS 上构建的代码,您需要使用 #if/#endif 而不是 #ifndef/#endif 。如果您还没有定义宏来检测iOS的编译,那么请查看此答案。否则,可以像这样进行预防:

#if !defined(WIN32) && !defined(YOUR_IOS_MACRO_HERE)
// Your code here
#endif // !defined(WIN32) && !defined(YOUR_IOS_MACRO_HERE)

之所以使用 #if 而不是 #ifndef,是因为前者允许多个语句与 &&|| 链接,而后者只检查单个宏是否存在。