ostrzeżenie o kompilacji: brak reguły przetwarzania pliku dla architektury i386

245

Jak mogę rozwiązać to ostrzeżenie?

[WARN] ostrzeżenie: brak reguły przetwarzania pliku „$ (PROJECT_DIR) /MyApp/MessageCell.h” typu sourcecode.objj.h dla architektury i386

Sheehan Alam
źródło
Mówi także, że próbuje skompilować twoje pliki nagłówkowe jako sourcecode.objj.h z Objective-J (który również używa plików .h do nagłówków), czy masz zainstalowane Cappuccino?
themarketka

Odpowiedzi:

576

Kliknij swój projekt i sprawdź, czy ten plik nie występuje w zakładce Fazy kompilacji. Zwykle żadne pliki nagłówkowe nie powinny tu pozostać. Wyczyść go i zbuduj ponownie, powinien działać!

Giuseppe
źródło
1
Mam tam kilka plików nagłówkowych. Ciekawe, dlaczego nagłówki nie powinny tam być?
Sheehan Alam
30
Ponieważ jest to lista plików źródłowych, które zostaną skompilowane, i zwykle już <plik> .h zawiera się w <pliku> .m
Giuseppe
1
Ilekroć tworzę nową klasę, mój XCode automatycznie dodaje pliki nagłówkowe do moich faz kompilacji. Nie wiem dlaczego, ktoś ma pojęcie, dlaczego tak się dzieje? Obecnie za każdym razem, gdy tworzę nową klasę, muszę ręcznie usunąć pliki nagłówków z faz kompilacji.
Bocaxica,
1
Mogę dodać, że plik .h może pojawić się w fazie kompilacji (kiedy nie powinien), ponieważ plik .m ma (przez pomyłkę) inną nazwę.
Ali,
to miałoby sens ... Utworzyłem plik pierwotnie jako .cpp, a następnie przemianowałem go na .h
ddavison
17

Możemy rozwiązać ten problem, po prostu wykonując następujące czynności: - Niektóre .md, .mdown .hpliki są zawarte w Skompiluj Sources
Krok 1) Wybierz Projekt Navigator
Krok 2) Wybierz swój projekt
krok 3) Wybierz targetStep
Krok 4) Wybierz Budowa PhasesStep
krok 5) Przenieś pliki, których nie chcemy, aby kompilator przetwarzał ze źródeł kompilacji do zasobów zasobów pakietu

Sprawdź to

Sudheesh
źródło
3

Jeśli otrzymujesz to ostrzeżenie od swojego cocoapod, musisz upewnić się, że s.source_filesjest poprawnie ustawiony w .podspec.

Na przykład pierwotnie włączyłem wszystkie pliki z tą linią do mojego .podspec

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

Otrzymałem to ostrzeżenie dotyczące kompilacji niektórych plików czcionek, które miałem w kapsule. Możesz kontrolować, które pliki będą wyświetlane w BuildPhases-> CompileSourcesprzy zużyciu kapsułek, w następujący sposób:

s.source_files = "MyUIElements/**/*.swift", "MyUIElements/**/*.h"
Jon Vogel
źródło
1
czy s.source_files = "Sources**/*.{h,m,swift}"?
hstdt
0

Mój problem was't pliki nagłówkowe ponieważ pod Target> Build Phases> Compile Resourcesnie było żadnych .h fileszacząć. System narzekał na inne pliki. Podążyłem za tym linkiem, który w zasadzie powiedział, że usuwam pliki, na które narzekał system, ale zamiast tego przeciągnąłem je do cntrl + Copy Bundle Resources.

Najłatwiejszym sposobem wyszukiwania plików jest użycie Filtru w prawym górnym rogu:

wprowadź opis zdjęcia tutaj

Oto wskazówki z linku:

wprowadź opis zdjęcia tutaj

Lance Samaria
źródło