Tôi nhận được các lỗi sau.
libxml / tree.h không có tệp hoặc thư mục nào như vậy
Tôi đã thêm vào libxml2.dylib
dự án của mình, tuy nhiên tôi đang gặp phải loại rắc rối này. Làm ơn giúp tôi.
Tôi nhận được các lỗi sau.
libxml / tree.h không có tệp hoặc thư mục nào như vậy
Tôi đã thêm vào libxml2.dylib
dự án của mình, tuy nhiên tôi đang gặp phải loại rắc rối này. Làm ơn giúp tôi.
Câu trả lời:
Làm theo hướng dẫn tại đây , trong "Thiết lập tệp dự án của bạn".
Thiết lập tệp dự án của bạn
Bạn cần thêm libxml2.dylib vào dự án của mình (không đặt nó trong phần Framework). Trên Mac, bạn sẽ tìm thấy nó ở
/usr/lib/libxml2.dylib
và đối với iPhone, bạn sẽ muốn có/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/usr/lib/libxml2.dylib
phiên bản.Vì libxml2 là .dylib (không phải là .framework thân thiện tốt đẹp) nên chúng tôi vẫn còn một việc nữa phải làm. Đi tới cài đặt xây dựng Dự án (Dự án-> Chỉnh sửa Cài đặt Dự án-> Bản dựng) và tìm "Đường dẫn tìm kiếm". Trong "Đường dẫn Tìm kiếm Tiêu đề", hãy thêm đường dẫn sau:
$(SDKROOT)/usr/include/libxml2
Cũng xem câu trả lời của OP .
/usr/include
. Tôi chưa thử cài đặt libxml2 nên không thể xác nhận hành vi mặc định. Nhưng có, tốt hơn nhiều nếu liên kết nó theo cách đó.
Thêm libxml2 là một cái mông to, mập mạp, đau đớn. Nếu bạn định làm, hãy làm trước khi bạn đi quá xa trong việc xây dựng dự án của mình.
Bạn cần thêm nó theo hai cách :
Nhấp vào mục tiêu của bạn (không phải dự án của bạn) và chọn Build Phases
.
Nhấp vào hình tam giác tiết lộ có tiêu đề Link Binary With Libraries
. Bấm vào +
để thêm thư viện.
Cuộn xuống cuối danh sách và chọn libxml2.dylib
. Điều đó sẽ thêm thư viện libxml2 vào dự án của bạn.
Bây giờ bạn phải cho dự án của bạn biết nơi để tìm kiếm nó ba lần nữa.
Chọn Build Settings tab
.
Cuộn xuống Linking
phần. Trong các cột dự án của bạn, hãy nhấp đúp vào Other Linker Flags
hàng. Nhấp vào +
và thêm -lxml2
vào danh sách.
Còn nữa.
Trong cùng một tab, cuộn xuống Search Paths
phần.
Dưới cột dự án của bạn trong Framework Search Paths
hàng thêm /usr/lib/libxml2.dylib
.
Trong Header Search Paths
và các User Header Search Paths
add hàng $(SDKROOT)/usr/include/libxml2
.
Trong hai trường hợp cuối cùng đó, hãy đảm bảo rằng đường dẫn đó được nhập trong Gỡ lỗi và Phát hành.
Trong Product
Menu chọn Clean
.
Sau đó, nếu tôi là bạn (và hãy đối mặt với nó, có lẽ tôi là như vậy), tôi sẽ thoát khỏi Xcode và bỏ đi. Khi bạn quay lại và khởi động, bạn nên đi.
opening import file 'Swift.swift': Not a directory
sau khi thực hiện điều này trong Xcode 5.
1) thêm thư viện "libxml2.dylib" vào MỤC TIÊU của dự án của tôi (Xây dựng giai đoạn -> Liên kết nhị phân với thư viện)
2) thêm "$ (SDKROOT) / usr / include / libxml2" vào Đường dẫn tìm kiếm tiêu đề trên TARGET (Cài đặt bản dựng -> Đường dẫn tìm kiếm tiêu đề)
Sau đó, mục tiêu sẽ xây dựng thành công.
Bạn cũng cần thêm /usr/include/libxml2
vào đường dẫn bao gồm của mình.
Tạo liên kết của @Matt Ball,
Tôi thấy sau đây hữu ích cho tôi.
Bạn cần thêm libxml2.dylib vào dự án của mình (không đặt nó trong phần Framework). Trên Mac, bạn sẽ tìm thấy nó ở /usr/lib/libxml2.dylib
và đối với iPhone, bạn sẽ muốn có /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib
phiên bản.
Vì libxml2 là .dylib (không phải là .framework thân thiện tốt đẹp) nên chúng tôi vẫn còn một việc nữa phải làm. Đi tới cài đặt bản dựng Dự án ( Project->Edit Project Settings->Build
) và tìm " Search Paths
". Trong "Đường dẫn tìm kiếm tiêu đề", hãy thêm đường dẫn sau trên Mac:
/usr/include/libxml2
Ray Wenderlich có một bài đăng trên blog về việc sử dụng gdata để giải quyết vấn đề này. Về cơ bản, các bước đơn giản sau:
Trong XCode, nhấp vào Project \ Edit Project Settings và đảm bảo rằng “Tất cả các cấu hình” đã được chọn.
Tìm cài đặt Đường dẫn tìm kiếm \ Đường dẫn tìm kiếm tiêu đề và thêm / usr / include / libxml2 vào danh sách.
Cuối cùng, tìm phần Linking \ Other Linker Flags và thêm -lxml2 vào danh sách.
Tôi thấy giống nhau, tôi phải thêm $ (SDKROOT) / usr / include / libxml2 cho Xcode mới nhất (4.3.x). CŨNG, điều khiến tôi lo lắng trong nhiều giờ là thực tế là tôi đang sửa đổi "TARGET" chứ không phải "DỰ ÁN" (giao diện người dùng mới của Xcode rất phức tạp nên rất dễ bỏ qua điều này). Bạn cần sửa đổi DỰ ÁN!
Giải pháp khác. thực hiện tất cả các bước trong đường dẫn tìm kiếm tiêu đề, v.v. và đảm bảo cấu hình đã chọn của bạn trong dự án trong cài đặt Dự án là cấu hình chính xác. Khi bạn nhấp đúp vào cài đặt xây dựng dự án, bạn có thể đang thay đổi trong cài đặt Phân phối, Nhưng bạn đang cố gắng thêm đường dẫn tìm kiếm tiêu đề trong cài đặt "Gỡ lỗi". Vì vậy, hãy đảm bảo rằng bạn đang cài đặt đúng. hoặc chọn tất cả cài đặt
Kể từ Mavericks (OS X 10.9), thư mục / usr / include đã biến mất . Một nửa câu trả lời ở đây là lỗi thời, vì ứng dụng sẽ không biên dịch cho đến khi bạn sắp xếp thư mục bao gồm.
Tôi đã giải quyết vấn đề khi tạo một liên kết tượng trưng đến MacOSX SDK trong thiết bị đầu cuối, bằng cách sử dụng lệnh sau:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
Ứng dụng hiện đã biên dịch lại.
Trên Mountain Lion, tôi cũng gặp phải vấn đề tương tự, vấn đề này đã được giải quyết bằng cách thêm /usr/include/libxml2
vào các đường dẫn có cờ "đệ quy", hãy sử dụng điều này nếu tất cả ở trên không hiệu quả.
Tôi gặp sự cố này khi mở lại một dự án (được phát triển trên XCode 3. một cái gì đó trên Leopard) sau khi nâng cấp lên Snow Leopard và XCode 3.2. Tò mò quá, nó chỉ ảnh hưởng đến một số loại bản dựng (bản dựng giả lập hoạt động tốt, những bản thiết bị đã cho tôi lỗi). Và tôi có libxml2 tại / usr / include, và nó thực sự chứa libxml / tree.h.
Ngay cả phép thuật "Clean" đã không hoạt động, nhưng "Empty Caches ..." trong menu "XCode" (giữa logo Apple và File) đã thực hiện thủ thuật (menu đó có ở các phiên bản trước không?). Đánh bại tôi lý do, nhưng sau khi làm sạch, không có thêm khiếu nại nào về libxml / tree.h
Vui lòng làm theo các bước sau
Thêm libxml2
libxml2.dylib có thể được tìm thấy trên máy mac của bạn tại /usr/lib/libxml2.dylib
Thay đổi "Đường dẫn tìm kiếm tiêu đề"
Nhấp vào [Tên dự án] (trong bảng điều khiển bên trái) -> Dự án -> Cài đặt bản dựng -> Chọn tất cả (mặc định là Cơ bản)
Nhập Đường dẫn tìm kiếm tiêu đề vào hộp tìm kiếm
Nhấp đúp vào Đường dẫn tìm kiếm tiêu đề -> + - > "$ (SDKROOT) / usr / include / libxml2"
Thêm -lxml2 vào "Cờ trình liên kết khác"
Tìm kiếm "Cờ trình liên kết khác" khi tìm kiếm ở bước 2,
nhấp vào hàng "Cờ trình liên kết khác". Nhấp vào "+" và thêm "-lxml2" vào danh sách.
Thay đổi loại dự án của bạn thành ARC -> Không tức là Đếm số tham chiếu tự động thành Không Bạn có thể tìm kiếm ARC như trong bước 2
Xcode 4.5 Tôi đã sử dụng toàn bộ giải pháp của CW. Ngoại lệ duy nhất là $ (SDKROOT) / usr / include / libxml2 không phù hợp với tôi và tôi phải thêm "$ (SDK_DIR)" / usr / include / libxml2 vào Đường dẫn tìm kiếm tiêu đề dự án và Đường dẫn tìm kiếm tiêu đề người dùng . Sau khi dự án đó xây dựng thành công.
CHỈNH SỬA: Tôi có dự án Google GData bên trong dự án của mình (được gọi là MyProject) (dự án của tôi sử dụng). GData yêu cầu libxml. Để xây dựng dự án MyProject thành công, tôi thêm "$ (SDK_DIR)" / usr / include / libxml2 vào Đường dẫn tìm kiếm tiêu đề của MyProject và không vào Đường dẫn tìm kiếm tiêu đề của GData . Nếu tôi không thêm nó vào MyProject, dự án đã không được xây dựng ).
Tôi thấy hướng dẫn trực quan này hữu ích.
Blockquote Thêm libxml2 trong Xcode 4.3.x
Thêm libxml2 là một cái mông to, mập mạp, đau đớn. Nếu bạn định làm điều đó, hãy làm điều đó trước khi bạn đi quá xa trong việc xây dựng dự án của mình.
Đây là cách thực hiện.
Cài đặt mục tiêu
Nhấp vào mục tiêu của bạn (không phải dự án của bạn) và chọn "Xây dựng giai đoạn". Nhấp vào hình tam giác tiết lộ có tiêu đề "Liên kết nhị phân với thư viện". Nhấp vào "+" để thêm thư viện. Cuộn xuống cuối danh sách và chọn "libxml2.dylib". Điều đó sẽ thêm thư viện libxml2 2 vào dự án của bạn… nhưng hãy đợi.
Thiết lập dự án
Bây giờ bạn phải cho dự án của bạn biết nơi để tìm kiếm nó ba lần nữa.
Chọn tab "Cài đặt bản dựng". Cuộn xuống phần "Liên kết". Trong các cột của dự án, hãy nhấp đúp vào hàng "Cờ trình liên kết khác". Nhấp vào "+" và thêm "-lxml2" vào danh sách.
Còn nữa.
Trong cùng một tab, cuộn xuống phần "Đường dẫn tìm kiếm". Dưới cột dự án của bạn trong hàng "Đường dẫn tìm kiếm khung", hãy thêm "/usr/lib/libxml2.dylib".
Trong "Đường dẫn tìm kiếm tiêu đề" VÀ hàng "Đường dẫn tìm kiếm tiêu đề người dùng", hãy thêm "$ (SDKROOT) / usr / include / libxml2". Trong hai trường hợp cuối cùng đó, hãy đảm bảo rằng đường dẫn đó được nhập trong Gỡ lỗi VÀ Bản phát hành.
Sau đó. Trong Menu "Sản phẩm", chọn "Dọn dẹp".
Điều này đang hoạt động và cả Xcode5 nữa! Cảm ơn bạn!
Không đặt libxml2.dylib trong thư mục framework, hãy đặt nó dưới thư mục gốc ngay dưới thư mục gốc (Biểu tượng màu xanh lam trên cùng bên trái)
Sau đó nhấp vào Dự án (biểu tượng màu xanh lam ở trên cùng bên trái), ĐI đến Cài đặt xây dựng, trong hộp tìm kiếm, nhập "Đường dẫn tìm kiếm tiêu đề" và sau đó thêm "$ (SDKROOT) / usr / include / libxml2" này
Mã này giải quyết vấn đề của tôi hy vọng nó sẽ giúp bạn khắc phục điều này
@Aqib Mumtaz - Tôi đã làm cho nó hoạt động bằng cách làm theo các hướng dẫn trong ghi chú của Parris ở trên có tựa đề "Thêm libxml2 trong Xcode 4.3 / 5/6". Bước sử dụng Đường dẫn Tìm kiếm Khung không hoạt động và trình biên dịch phàn nàn. Dù sao thì cũng sẽ được khen lớn cho anh bạn đó!
Tôi đang sử dụng Xcode 6.2b3
Bất kể phiên bản Xcode nào bạn đang sử dụng đều có lỗi. Đừng luôn cho rằng lỗi biên dịch là có thật. Có nhiều khi nó không đi theo đường dẫn tìm kiếm tiêu đề và không tìm thấy bao gồm được liệt kê rõ ràng. Tệ hơn nữa, các lỗi phát sinh có xu hướng hướng bạn theo nhiều hướng khác nhau, vì vậy bạn lãng phí rất nhiều thời gian để làm mất tập trung. Với điều đó đã nói ...
Đề xuất các bước cho em bé bằng cách bắt đầu với điều này chính xác ...:
Ghi chú:
hi vọng điêu nay co ich.
Nếu bạn tình cờ phát triển một thứ gì đó cho Cựu chiến binh, hãy nói một ứng dụng iPhone / iPad hoặc Mac và đang làm việc chống lại một thứ gọi là "MDWS" hoặc "VIA" là giao diện dựa trên SOAP đối với hệ thống hồ sơ y tế ... vui lòng liên hệ với tôi
1) Tôi đã thêm tệp libxml vào Build Phases. Theo liên kết này
2) Tôi đã thêm Cờ liên kết khác là -ObjC
(Đối với cả mục tiêu dự án và dự án thử nghiệm)
3) Tôi thiết lập Đường dẫn tìm kiếm tiêu đề là "${SDKROOT}/usr/include/libxml2"
(Đừng quên dấu ngoặc kép ở hai bên) (Đối với cả mục tiêu dự án và dự án thử nghiệm)
Một trong số họ sẽ giải quyết vấn đề. Nếu không, bạn phải áp dụng cả ba điều trên.
Tôi nghĩ rằng tôi đã thêm sai, sau đó tôi nhận ra vấn đề là nó không hỗ trợ vòng cung, vì vậy hãy kiểm tra hỗ trợ ở đây, trình tiết kiệm -> http://www.michaelbabiy.com/arc-compliant-gdataxml-library/