cảnh báo biên dịch: không có quy tắc để xử lý tệp cho kiến ​​trúc i386


245

Làm thế nào tôi có thể giải quyết cảnh báo này?

Cảnh báo [WARN]: không có quy tắc để xử lý tệp '$ (PRO DỰ_DIR) /MyApp/MessageCell.h' của loại sourcecode.objj.h cho kiến ​​trúc i386


Nó cũng nói rằng nó đang cố gắng biên dịch các tệp tiêu đề của bạn dưới dạng sourcecode.objj.h từ Objective-J (cũng sử dụng các tệp .h cho các tiêu đề), bạn đã cài đặt Cappuccino chưa?
themarketka

Câu trả lời:


576

Nhấp vào dự án của bạn và kiểm tra xem tệp này không có trong tab Build Ph Phase. Thông thường không có tập tin tiêu đề nên ở đây. Làm sạch và xây dựng lại, nó sẽ hoạt động!


1
tôi có một vài tập tin tiêu đề trong đó. Chỉ tò mò, tại sao không nên có tiêu đề?
Sheehan Alam

30
Bởi vì đây là danh sách các tệp nguồn sẽ được biên dịch và thông thường bạn đã bao gồm <file> .h bên trong <file> .m
Giuseppe

1
Bất cứ khi nào tôi tạo một lớp mới, XCode của tôi sẽ tự động thêm các tệp tiêu đề vào các giai đoạn xây dựng của tôi. Tôi không biết tại sao, bất cứ ai cũng có manh mối tại sao điều này xảy ra? Hiện tại mỗi lần tôi tạo một lớp mới, tôi cần xóa các tệp tiêu đề khỏi các giai đoạn xây dựng theo cách thủ công.
Bocaxica

1
Tôi có thể thêm rằng một tệp .h có thể xuất hiện trong các giai đoạn xây dựng (khi không phải là) vì tệp .m có (do nhầm lẫn) một tên khác.
Ali

điều này có ý nghĩa hoàn hảo ... Tôi đã tạo tệp ban đầu dưới dạng .cpp sau đó đổi tên thành .h
ddavison


17

Chúng ta có thể giải quyết vấn đề này bằng cách đơn giản làm theo các bước dưới đây: - Một số .md, .mdown .htập tin được bao gồm trong Compile Nguồn
Bước 1) Chọn Project Navigator
Bước 2) Chọn dự án của bạn
Bước 3) Chọn targetStep của bạn
Bước 4) Chọn Build PhasesStep
Bước 5) Di chuyển các tệp mà chúng tôi không muốn trình biên dịch xử lý từ Nguồn biên dịch để sao chép tài nguyên gói

Kiểm tra điều này


3

Nếu bạn nhận được cảnh báo này từ cocoapod, bạn phải đảm bảo rằng s.source_filesnó được đặt chính xác trong .podspec.

Ví dụ: ban đầu tôi đã bao gồm tất cả các tệp có dòng này trong .podspec

s.source_files = "MyUIElements/**/*"

Tôi đã nhận được cảnh báo biên dịch này cho một số tệp phông chữ tôi có trong nhóm. Bạn kiểm soát tập tin nào hiển thị trong BuildPhases-> CompileSourcesvề mức tiêu thụ pod như thế này:

s.source_files = "MyUIElements/**/*.swift", "MyUIElements/**/*.h"

1
hay s.source_files = "Sources**/*.{h,m,swift}"?
hstdt

0

Tập tin tiêu đề vấn đề chỉnh chưa tôi vì theo Target> Build Phases> Compile Resourceskhông có bất kỳ .h filesđể bắt đầu với. Hệ thống đã phàn nàn về một số tập tin khác. Tôi đã theo liên kết này về cơ bản nói rằng xóa các tệp mà hệ thống đã phàn nàn nhưng thay vào đó tôi cntrl + kéo chúng vàoCopy Bundle Resources .

Cách dễ nhất để tìm kiếm các tệp là sử dụng Bộ lọc ở góc trên bên phải:

nhập mô tả hình ảnh ở đây

Dưới đây là hướng dẫn từ liên kết:

nhập mô tả hình ảnh ở đây

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.