предупреждение компиляции: нет правил для обработки файла для архитектуры i386

245

Как я могу устранить это предупреждение?

Предупреждение [ПРЕДУПРЕЖДЕНИЕ]: нет правила для обработки файла '$ (PROJECT_DIR) /MyApp/MessageCell.h' типа sourcecode.objj.h для архитектуры i386

Шихан Алам
источник
Это также говорит о том, что он пытается скомпилировать ваши файлы заголовков как sourcecode.objj.h из Objective-J (который также использует файлы .h для заголовков), у вас установлен Cappuccino?
themarketka

Ответы:

576

Нажмите на свой проект и убедитесь, что этот файл отсутствует на вкладке Фазы сборки. Обычно никакие заголовочные файлы не должны оставаться здесь. Очистите и постройте снова, это должно работать!

Giuseppe
источник
1
у меня там есть несколько файлов заголовков. Просто любопытно, почему там не должно быть заголовков?
Шихан Алам
30
Потому что это список исходных файлов, которые будут скомпилированы, и обычно вы уже включили <file> .h в свой <file> .m
Giuseppe
1
Всякий раз, когда я создаю новый класс, мой XCode автоматически добавляет файлы заголовков на мои фазы сборки. Я не знаю почему, у кого-нибудь есть подсказка, почему это происходит? В настоящее время каждый раз, когда я создаю новый класс, мне нужно вручную удалять файлы заголовков из фаз сборки.
Bocaxica
1
Я мог бы добавить, что файл .h может появляться на этапах сборки (если это не нужно), потому что файл .m имеет (по ошибке) другое имя.
Али
это имело бы смысл ... Я изначально создал файл как .cpp, затем переименовал его в .h
ddavison
17

Мы можем решить эту проблему, просто выполнив следующие действия: - Некоторые .md, .mdown .hфайлы , включенные в Sources Compile
Шаг 1) Выберите Project Navigator
Шаг 2) Выберите проект
Шаг 3) Выберите targetStep
Шаг 4) Выберите Построить PhasesStep
Шаг 5) Переместить файлы, которые мы не хотим, чтобы компилятор обрабатывал из исходников компиляции для копирования ресурсов комплекта

Проверь это

Садиш
источник
3

Если вы получаете это предупреждение от вашего Cocoapod, вы должны убедиться, что s.source_filesв .podspec.

Например, я изначально включил все файлы с этой строкой в ​​мой .podspec

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

Я получал это предупреждение компиляции для некоторых файлов шрифтов, которые я имел в модуле. Вы контролируете, какие файлы будут отображаться в BuildPhases-> CompileSourcesпри потреблении pod следующим образом:

s.source_files = "MyUIElements/**/*.swift", "MyUIElements/**/*.h"
Джон Фогель
источник
1
или s.source_files = "Sources**/*.{h,m,swift}"?
hstdt
0

Мои файлы заголовков проблема was't потому , что при Target> Build Phases> Compile Resourcesих не было , .h filesчтобы начать с. Система жаловалась на некоторые другие файлы. Я перешел по этой ссылке, в которой говорилось, что удалите файлы, на которые жалуется система, но вместо этого я cntrl + перетащил их вCopy Bundle Resources .

Самый простой способ поиска файлов - использовать фильтр в верхнем правом углу:

введите описание изображения здесь

Вот указания по ссылке:

введите описание изображения здесь

Ланс Самария
источник