2013-08-02 28 views
22

Tôi thường thấy mã nguồn mở nhập thư viện của bên thứ ba trong Xcode file thực hiện/Objective-C như thế này:Làm cách nào để cho Xcode biết cách bao gồm thư viện được chỉ định bằng dấu ngoặc nhọn?

#import <ThirdPartyLibrary/utilities.h> 

nhưng khi tôi kéo & thả các cấu trúc tập tin và các tập tin của thư viện như vậy trong dự án của tôi, tất cả các mục nhập này đều bị hỏng và Xcode không biết vị trí của các tệp.

tôi kết thúc bằng tay điều chỉnh mọi nhập khẩu để trông giống như:

#import "utilities.h" 

Và bao gồm xuất hiện nó là tương đối so với thư mục vật lý hiện hành về hệ thống tập tin. Khi một thư viện chia nhỏ các tệp của nó trong các thư mục trên hệ thống tệp và tôi kéo nó vào Xcode, Xcode tạo các nhóm cho các thư mục. Nhưng để nhập, tôi phải chỉ định tên thư mục. Vấn đề là khi tôi đang trong một thư mục, ví dụ:

http/httpTools.h

Sau đó, khi httpTools.h muốn nhập utilities.h từ gốc, tôi phải thay đổi

#import <ThirdPartyLibrary/utilities.h> 

to

#import "../utilities.h" 

là công việc vặt. Sau khi làm điều này trong 5 giờ, tôi nghĩ chết tiệt, phải có một cách tốt hơn. Ai đó có thể giải thích bí quyết để dạy Xcode một vị trí khung mới có thể được nhập bằng dấu ngoặc nhọn không? Khung btw là mã nguồn. Chưa được biên soạn. Chỉ là mã trần truồng.

+2

Nó không phải là Xcode, nó đúng hơn là trình biên dịch. Dù sao, bạn phải mở rộng đường dẫn tìm kiếm tập tin tiêu đề của trình biên dịch; điều này có thể được thực hiện bằng cách chỉ rõ cờ biên dịch '-I ' trong trường hợp của GCC và Clang. –

+0

Tôi có một vấn đề tương tự, thay vì kéo trong các tập tin, bao gồm các thư mục có liên quan trong đường dẫn tìm kiếm tiêu đề thiết lập xcode. –

+0

Bạn có đang nhập khung bên thứ ba hoặc mã nguồn đầy đủ không? – Wain

Trả lời

11

Chỉ định đường dẫn bao gồm sử dụng cờ trình biên dịch -I hoặc bí danh cài đặt bản dựng Xcode HEADER_SEARCH_PATHS. Tất nhiên, bạn có thể sử dụng các biến xây dựng khi làm như vậy.

+3

không hoạt động trong trường hợp của tôi. Có vẻ như chỉ tìm kiếm xcode từ thư viện hệ thống cho các tiêu đề được chỉ định giữa các dấu ngoặc đơn. – zell

+0

Bạn không thể chỉ thêm 'include'. Sử dụng '$ (SRCROOT)/include /' để thay thế. – Jeff

+0

HEADER_SEARCH_PATHS KHÔNG làm việc cho tôi vì một lý do không xác định. Thêm -I như là một cờ biên dịch làm việc mặc dù. –

5

Chỉ cần stumbled khi cùng một vấn đề, có hai loại đường dẫn tìm kiếm trong Xcode:

Header Search Paths 
User Header Search Paths 

Nếu bạn thêm của riêng bạn bao gồm các thư mục vào Tiêu đề Search Paths, bạn có thể sử dụng dấu ngoặc nhọn.

Các vấn đề liên quan