Мне часто приходится указывать версии Mac OS X, которые старше, чем тот, который я сейчас запускаю. Поскольку я предпочитаю работать с оболочкой bash и make файлами, я не использую Xcode. Apple явно поддерживает назначение более старых версий OS X, как описано здесь. Тем не менее, я всегда был в замешательстве из-за явной избыточности двух этапов настройки, которые обычно принимаются для установки на более ранние платформы:
1) gcc всегда запускается с использованием --macosx-version-min, например:
gcc --mmacosx-version-min=10.6 ....
2) Переменная среды MACOSX_DEPLOYMENT_TARGET также должна быть установлена на желаемую платформу, например.
export MACOSX_DEPLOYMENT_TARGET=10.6
Когда вы пытаетесь выяснить фактическую разницу между ними по поиску в Google, вы получите разные ответы. Некоторые люди говорят, что они делают точно то же самое, поэтому нужно только использовать один из двух. Тем не менее, есть и голоса, которые говорят, что необходимо сделать оба: запустите gcc с --macosx-version-min и установите переменную окружения.
Вот почему я хотел бы спросить, есть ли у кого-то ответ определенный по этому вопросу: эти две вещи абсолютно одинаковы, поэтому нужно использовать только один из двух, но не оба? Есть ли даже какая-то официальная документация? Apple упоминает MACOSX_DEPLOYMENT_TARGET, но не упоминает --macosx-version-min вообще, хотя кажется, что это гораздо более распространено.
Может ли кто-нибудь пролить свет на это? Спасибо!