我想要一些代碼編譯在10.6及以下,但不是10.7及以上。不同版本的Mac OS X之間的單獨代碼?
例如:
#ifdef current version is MAC_OS_X_VERSION_10_6 or below
// do this
elif current version is MAC_OS_X_VERSION_10_7 or above
//do that
#endif
有人可以幫助我正確葛宏呢?我看着AvailabilityMacros.h,但無法找出正確的ifdef。
我有一個動態庫,它不能在10.7或更高版本下加載,但在10.6下正確加載。這是由於私人標誌_CGContextAppendPath
。我想保持它在10.6及以下使用,但要避免在10.7及更低版本中使用它。這是因爲_CGContextAppendPath
符號在10.7及以上不存在。
我用,
SInt32 version = 0;
Gestalt(gestaltSystemVersion, &version);
bool lionabove = (version >= 0x1070);
沒有工作。
你的問題不清楚;如果項目的部署目標是10.6或更低,您是否想要編譯一些代碼? – trojanfoe
試圖在10.7下加載它會發生什麼? – MrMage
dlopen()返回null。但是,如果我評論使用CGContextAppendPath(),它工作正常。這是因爲該符號不在10.7及以上。 – MacGeek