Скомпилируйте с gcc на Macos 10.14.5, который будет поддерживать более ранние версии Mac - PullRequest
1 голос
/ 31 октября 2019

У меня есть код ac ++, который я написал, который почти ничего не использует, который не является самим языком (кроме использования osascript).

После компиляции его в моей версии операционной системы (10.14.5)со следующими флагами: D_DEBUG, Os, Wall, Wextra

Я обнаружил, что он не работал в более старых операционных системах (например, в 10.13 - возникает ошибка, которую он может запустить только в 10.14 или более поздней версии)

Какие флажки нужно использовать, чтобы сообщить GCC, что я хочу поддерживать как можно больше версий MacOs?

1 Ответ

0 голосов
/ 01 ноября 2019

Вам понадобится флаг контроля версий: -mmacosx-version-min=10.9

И сообщите компилятору, где находится SDK: -isysroot= =/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk

Старые SDK доступны в более старых пакетах xcode или черезhttps://github.com/phracker/MacOSX-SDKs/releases. Вам нужно распаковать SDK и поместить папку в комплект xcode, как показано выше в флаге sysroot.

Apple sayeth: вы должны настроить компиляцию для самой старой версии OS Xна котором вы хотите запустить исполняемый файл. Кроме того, вы должны установить и использовать кросс-разработку SDK для этой версии OS X. Для получения дополнительной информации см. Руководство по совместимости SDK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...