2012-10-25 35 views
11

Tôi đã thêm thư mục bao gồm trong thư mục chính của mình. Tôi có thể chạy "ls -l ~/include" từ thư mục build. Tôi đã thêm thư mục đó vào cả "Header Seach Path" và trong "User Header Search Path". Ở cả hai nơi tôi đã thử với cả hai không đệ quy và đệ quy. Nhưng xcode 4.5.1 có thể không có trong bất kỳ tình huống nào tìm thấy tệp tiêu đề đầu tiên được nêu.xcode 4.5.1. Đường dẫn Tìm kiếm tiêu đề không hoạt động, <directory/file.h> không tìm thấy tệp

Đó là tuyên bố trong mã nguồn calls.m như: "vấn đề từ vựng hoặc Preprocessor 'thư mục/file.h' File not found"

#include <directory/file.h> 

tôi nhận được một

Nhưng khi chạy xcodebuild từ cli nó không có vấn đề gì để xây dựng nguồn.

Tôi đã thử rất nhiều các gợi ý tìm thấy trên internet

  • Đưa một bao gồm trong/usr/om ổ đĩa của tôi
  • Thêm một chỉ số cho dự án, thêm các tập tin không có bản sao và không có "Add to mục tiêu "được đánh dấu.
  • Khởi động lại xcode.
  • Chỉ định tất cả đường dẫn cụ thể.

Nhưng vẫn không được.

Vấn đề là gì. Lỗi trong xcode?

Trả lời

18

Tôi vừa gặp sự cố tương tự và đó là vì có các khoảng trống trong đường dẫn mà tôi đã xác định cho Đường dẫn tìm kiếm tiêu đề. Ví dụ, tôi đã xác định như sau như một đường dẫn tìm kiếm:

$(SRCROOT)/Frameworks/Headers

mà đã được mở rộng ra những điều sau đây:

/Users/skoota/Documents/Xcode Projects/My App/Frameworks/Headers

như bạn có thể thấy, có không gian bên trong đường dẫn (không hiển nhiên ngay lập tức, vì bạn đang sử dụng biến số $(SRCROOT)) và trình biên dịch không đặc biệt đánh giá cao các khoảng trống. Tôi giải quyết vấn đề này bằng cách thay đổi đường dẫn tìm kiếm như sau:

"$(SRCROOT)"/Frameworks/Headers

(lưu ý các dấu ngoặc kép quanh $(SRCROOT) mà thoát khỏi dấu cách). Điều này bây giờ mở rộng ra:

"/Users/skoota/Documents/Xcode Projects/My App"/Frameworks/Headers

mà hoạt động hoàn hảo, mặc dù trông hơi kỳ quặc với nhúng " dấu. Điều này đã cho tôi một thời gian để tìm ra, vì vậy hy vọng nó sẽ giúp!

4

Điều này thường xảy ra nếu có dấu cách trong đường dẫn của thư mục của bạn. Để khắc phục vấn đề này, hãy sử dụng dấu ngoặc kép xung quanh đường dẫn.

Giả sử bạn muốn sử dụng thư mục dự án của mình, thì bạn nên sử dụng: $PROJECT_DIR. Bật đệ quy nếu bạn muốn tìm kiếm trong các thư mục.Ngoài ra, bạn có thể sử dụng $(SRCROOT)

+1

Không nhận được phiếu giảm giá ngắn và nó đã giúp tôi, cảm ơn Kunal Ive đã vật lộn với điều này một thời gian. – Arbitur

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