是否有一个预定义的C宏用来检测OS X的版本?我知道__APPLE__和__MACH__是存在的,但它们是二进制的。__APPLE_CC__是否有一个特定值来表示Lion?
特别是,Lion在Lion的<stdio.h>中添加了getline()的定义,能够检测代码是否在Lion上编译或解决编译错误将是一件很好的事情。
具体地说,我指的是在Bash中(在XCode之外)构建Unix C代码。
发布于 2011-11-06 11:17:32
Availability.h宏使您可以检查编译和运行时版本依赖项。请参阅讨论here。
发布于 2011-11-06 11:17:56
检入/usr/include/AvailabilityMacros.h -它包含以下宏:
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
#define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER DEPRECATED_ATTRIBUTE
#else
#define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER
#endif我之所以遇到这个东西,是因为'openssl/sha1.h‘中充斥着Lion的’弃用‘属性,所以编译git会收到很多警告。
https://stackoverflow.com/questions/8024961
复制相似问题