Как я могу определить, какую версию MacOS я собираю? - PullRequest
1 голос
/ 12 марта 2012

Я компилирую условно:

#ifdef WIN32
  myVal = "Windows";
#elif __APPLE__
  myVal = "Apple";
#endif

Есть ли значение, которое я могу проверить в блоке __APPLE__ для проверки различных версий (10.4,10.5,10.6 и т. Д.)?

Ответы [ 2 ]

2 голосов
/ 12 марта 2012

Если вы пытаетесь проверить среду компилятора, попробуйте uname -v.

В частности, я думаю, вы можете сделать uname -v | sed 's/Darwin Kernel Version \([^ ]*\):.*/\1/', чтобы получить, например, "10.5".

2 голосов
/ 12 марта 2012

Вы должны использовать макросы /usr/include/AvailabilityMacros.h.См. TN2064 для обсуждения, а также комментарии заголовка в этом файле.

...