3

我正在编写一个需要在 Windows、Mac、Linux、Android、iOS 上运行的库。我已经有以下定义:

#if defined(_WIN32) || defined(__WIN32__)

    // Windows
    #define SYSTEM_WINDOWS

#elif defined(linux) || defined(__linux)

    // Linux
    #define SYSTEM_LINUX

#elif defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)

    // MacOS
    #define SYSTEM_MACOS

#elif defined(__ANDROID__)

    // Android
    #define SYSTEM_ANDROID

#else

    // Unsupported system
    #error This operating system is not supported

#endif

但我不确定在 iOS 上使用什么。

4

1 回答 1

0

在 /usr/include/TargetConditionals.h 中,您可以找到 TARGET_OS_IPHONE 的定义,iOS 和 iOS 模拟器的值都为 1。

请参阅以下链接以确定如何检测多个平台的操作系统:

使用预定义的宏检测操作系统

于 2014-01-30T19:59:25.400 回答