Какова связь между Xcode и инструментами командной строки Xcode

17

Когда я устанавливаю Xcode из App Store, я могу компилировать программы как в Xcode, так и в командной строке. Несколько утилит командной строки, таких как clang, makeи gitвсе становятся доступными, когда Xcode.app установлен. Поэтому я подумал, что отдельный пакет инструментов командной строки предназначен только для тех, кто не хочет устанавливать полную IDE.

Но, к моему удивлению, одну из проблем компоновки, с которой я столкнулся при компиляции MacVim, можно успешно решить, установив инструменты командной строки с помощью xcode-select --install. Таким образом, очевидно, что Xcode.app и инструменты командной строки различаются, по крайней мере, тонкими способами. Какая тогда разница? Имеет ли последний лучший охват по всем основным элементам программирования, чем первый?

В настоящее время я использую Xcode 6.0.1 на Mavericks.

Сиюань Рен
источник

Ответы:

5

Вы можете увидеть это как:

  • Инструменты командной строки являются основной основой. Многие базовые инструменты необходимы для компиляции кода Swift / Objective-C.
  • XCode - это IDE, которая включает в себя несколько дополнительных пакетов.

Таким образом, инструменты командной строки гарантируют, что базовые инструменты UNIX включены (как, например, GCC), чтобы иметь возможность компилировать и связывать код.

Затем XCode использует эти основные инструменты.


Из документов:

Что такое пакет инструментов командной строки?

Пакет инструментов командной строки - это небольшой автономный пакет, доступный для загрузки отдельно от XCode, который позволяет выполнять разработку командной строки в OS X. Он состоит из двух компонентов: OS X SDK и инструментов командной строки, таких как Clang, которые установлены в / usr / bin.

Бастиан Грубер
источник
8
Но , видимо , Xcode.app приходит со своими инструментами командной строки , такие как clang, git, makeа также. Почему установка другой копии этих инструментов необходима для компиляции какого-либо программного обеспечения?
Сиюань Рен
Почему видимо? Git и make - это дополнительные инструменты, которые не включены в «основные» инструменты командной строки.
Бастиан Грубер
3
git, makeнаходятся в каталоге, /Library/Developer/CommandLineTools/usr/binпоэтому они действительно включены в «основные» инструменты командной строки.
Сиюань Рен