2009-08-18 40 views
5

Tôi đang gặp sự cố khi nhận XCode để xử lý cấu trúc tệp cụ thể mà tôi đang sử dụng hoặc tôi muốn sử dụng.XCode bao gồm đường dẫn

Tôi có một tập hợp các tập tin trong các hình thức sau đây ...

 

Library 
    Headers 
     Library 
     Package1 
      Header1.h 
      Header2.h 
      HeaderN.h 
     Package2 
      Header1.h 
      Header2.h 
      HeaderN.h 
     PackageN 
      Header1.h 
      Header2.h 
      HeaderN.h 
    Source 
     Package1 
     Source1.m 
     Source2.m 
     SourceN.m 
     Package2 
     Source1.m 
     Source2.m 
     SourceN.m 
     Package3 
     Source1.m 
     Source2.m 
     SourceN.m 

Các bao gồm mô hình tôi muốn cho mã bên ngoài của thư viện này là ...

#import "Library/Package/Header.h" 

Tôi muốn chỉ XCode tại Thư viện/Tiêu đề nhưng không ở thư mục nội bộ. Khi tôi thêm cây này vào dự án XCode dường như làm cho ngầm bao gồm các đường dẫn đến mọi nút trong cây.

đang

khách hàng trong phạm vi dự án nhưng bên ngoài cây này có thể làm được điều này ...

#import "Header.h" 

thay vì ...

#import "Library/Package/Header.h" 

tôi dường như không thể tìm thấy một cách để dissallow sự hình thức không đủ điều kiện.

Mọi trợ giúp sẽ được đánh giá cao.

Cảm ơn, -Roman

Trả lời

1

Nếu bạn bao gồm các tiêu đề trong các tập tin trong dự án sau đó XCode sẽ luôn tìm thấy chúng mà không cần trình độ con đường, như bạn đã phát hiện ra. Giải pháp tốt nhất là xóa tiêu đề khỏi dự án và chỉ định "Thư viện/Tiêu đề" làm đường dẫn tìm kiếm tiêu đề trong cài đặt dự án của bạn. Các tiêu đề sẽ không hiển thị trong dự án của bạn, nhưng chúng cũng sẽ không được tìm thấy ngầm bởi XCode trong khi biên dịch, hoặc là; mã máy khách sẽ phải chỉ định đường dẫn đầy đủ của "Thư viện/Tiêu đề" để truy cập vào tệp tiêu đề mà họ muốn.

+0

Tôi hiểu. Đó là một sự xấu hổ khi tôi là tác giả của thư viện và ứng dụng cùng một lúc. Đoán tôi luôn có thể phá vỡ nó ra vào dự án riêng của mình. Tôi đã cố gắng thực hiện một mục tiêu thư viện trong cùng một dự án nhưng điều đó cũng không thay đổi đường dẫn ngầm. –

+4

Tôi thấy rằng có một cách để có các tiêu đề trong dự án của bạn dễ dàng chỉnh sửa nhưng không được chúng tìm thấy bởi dự án. Chỉ cần nhập tiêu đề dưới dạng tham chiếu thư mục (màu xanh thay vì màu vàng trong xcode). –

+0

+1 hữu ích; cảm ơn! – fbrereto

6

Bạn đang chạy chống lại hành vi của Xcode mà nó xây dựng một headermap bằng phẳng. Bạn có thể tắt tính năng này bằng cách thêm cài đặt bản dựng:

HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=NO 

vào cài đặt dự án của bạn.

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