Mối quan hệ giữa các công cụ dòng lệnh Xcode và Xcode là gì


17

Khi tôi cài đặt Xcode từ App Store, tôi cũng có thể biên dịch các chương trình trong Xcode cũng như dòng lệnh. Một số tiện ích dòng lệnh như clang, makegittất cả đều khả dụng khi Xcode.app được cài đặt. Vì vậy, tôi nghĩ rằng gói công cụ dòng lệnh riêng biệt chỉ dành cho những người không muốn cài đặt IDE đầy đủ.

Nhưng thật ngạc nhiên, một trong những vấn đề liên kết tôi gặp phải khi biên dịch MacVim có thể được giải quyết thành công bằng cách cài đặt các công cụ dòng lệnh với xcode-select --install. Vì vậy, rõ ràng Xcode.app và các công cụ dòng lệnh khác nhau, ít nhất là theo những cách tinh tế. Sự khác biệt sau đó là gì? Liệu cái sau có bảo hiểm tốt hơn cho tất cả các yếu tố cần thiết cho lập trình so với cái trước?

Hiện tại tôi đang sử dụng Xcode 6.0.1 trên Mavericks.

Câu trả lời:


5

Bạn có thể thấy nó như:

  • Các công cụ dòng lệnh là nền tảng cơ bản. Nhiều công cụ cơ bản là cần thiết để biên dịch mã Swift / Objective-C của bạn.
  • XCode là IDE mang đến một vài gói bổ sung với nó.

Vì vậy, các công cụ dòng lệnh đảm bảo rằng các công cụ UNIX cơ bản được bảo vệ (ví dụ như GCC) để có thể biên dịch và liên kết mã.

Xcode sau đó đang sử dụng những công cụ cơ bản đó.


Từ các tài liệu:

Gói công cụ dòng lệnh là gì?

Gói công cụ dòng lệnh là gói nhỏ khép kín có sẵn để tải xuống riêng biệt từ Xcode và cho phép bạn thực hiện phát triển dòng lệnh trong OS X. Nó bao gồm hai thành phần: SDK OS X và các công cụ dòng lệnh như Clang, được cài đặt trong / usr / bin.


8
Nhưng dường như Xcode.app đi kèm với các công cụ dòng lệnh riêng của mình như clang, git, makelà tốt. Tại sao cài đặt một bản sao khác của các công cụ này cần thiết để biên dịch một số phần mềm?
Siyuan Ren

Tại sao rõ ràng? Git và make là các công cụ bổ sung không có trong các công cụ dòng lệnh "cơ bản".
Bastian Gruber

3
git, maketất cả đều có trong thư mục, /Library/Developer/CommandLineTools/usr/binvì vậy, chúng thực sự được bao gồm trong các công cụ dòng lệnh "cơ bản".
Siyuan Ren
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.