Ответ 1
Я структурирую свой ответ со списком, чтобы вы получили полную картину, и ответ на ваш главный вопрос заключался в последнем элементе списка:
- Поскольку Mavericks, набор компиляторов по умолчанию был Clang/LLVM вместо GNU GCC. Синонимы для
gcc
иg++
, которые указывают на Clang и Clang++ соответственно, сохраняются для сохранения обратной совместимости, и поскольку Clang очень обратная совместимость с GCC, нет причин не делать этого. - Поскольку XCode 6, я думаю, XCode автоматически связывает инструменты разработки командной строки в основной установке и пакете .app для XCode. То же самое касается стандартных фреймворков и наборов инструментов. Полная разработка командной строки по-прежнему не полностью работоспособна на данный момент, просто включила развитие XCode.
- Однако для успешной разработки в командной строке необходимо выполнить
xcode-select --install
в приложении "Терминал" и следовать инструкциям. -
Учитывая, что SDK теперь объединены и организованы в структуре каталогов внутри пакета XCode.app, изменение в gxx-include-dir, которое вы заметили, связано с тем, что теперь /usr/include является просто софт-ссылка теперь в нужное место для конкретного включает:
$ls -l/usr/include
lrwxr-xr-x 1 корневое колесо 112 2 февраля 19:08/usr/include → /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/USR/включать/
Последняя точка, не обязательно плохо, и теперь команда xcode-select(1)
может использоваться для управления активным SDK.
Надеюсь, это немного изменит ситуацию для тех, кто смутился, поскольку все эти (довольно большие) изменения были выпущены в классическом стиле Apple в полной и полной тишине.