是否有預定義的C宏用於檢測OS X的版本?我知道__APPLE__
和__MACH__
存在,但那些是二元的。 __APPLE_CC__
是否有指定Lion的具體值?C宏的OS X版本(獅子或不)檢測?
特別是,Lion在Lion中添加了getline()
到<stdio.h>
的定義,並且能夠檢測代碼是否在Lion上編譯或不處理編譯錯誤會很好。
具體來說,我指的是在Bash(XCode之外)構建Unix C代碼。
是否有預定義的C宏用於檢測OS X的版本?我知道__APPLE__
和__MACH__
存在,但那些是二元的。 __APPLE_CC__
是否有指定Lion的具體值?C宏的OS X版本(獅子或不)檢測?
特別是,Lion在Lion中添加了getline()
到<stdio.h>
的定義,並且能夠檢測代碼是否在Lion上編譯或不處理編譯錯誤會很好。
具體來說,我指的是在Bash(XCode之外)構建Unix C代碼。
Availability.h
宏允許您檢查編譯版和運行時的版本依賴關係。請參閱討論here。
入住/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」已經厚厚地塗有「不贊成使用」屬性獅子,所以編譯git
得到警告嘉豪。
*在Lion上編譯*或運行* * –