gpt4 book ai didi

xcode:如何在编译时检测sdk

转载 作者:行者123 更新时间:2023-12-02 17:22:42 25 4
gpt4 key购买 nike

我知道 Availability.h 中的宏用于 sdk 检测。但它们会导致 _attribute_ 类型声明,我不知道如何将其用于我的目的。

我希望能够像这样使用常规定义:

 #include "Availability.h"

#if IS_USING_SDK(__MAC_10_10)
do some declarations here
#endif

#if CURRENT_SDK < __MAC_10_12
do some declarations here
#endif

有什么帮助吗?

编辑:我正在使用 C++

最佳答案

您可以像这样使用预处理器指令:

#include <AvailabilityMacros.h>
#if defined(MAC_OS_X_VERSION_10_12) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12
// code that requires the 10.12 or later SDK
#endif

或其相反:

#if !defined(MAC_OS_X_VERSION_10_12) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12
// code for SDKs 10.11 and earlier
#endif

有一个更新的可用性宏 header Availability.h,它定义了不同名称的宏:

#include <Availability.h>
#if defined(__MAC_10_12) && __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_12
// code that requires the 10.12 or later SDK
#endif

#if !defined(__MAC_10_12) || __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_12
// code for SDKs 10.11 and earlier
#endif

关于xcode:如何在编译时检测sdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41493564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com