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


245

Як я можу вирішити це попередження?

[WARN] попередження: немає правила для обробки файлу '$ (PROJECT_DIR) /MyApp/MessageCell.h' типу sourcecode.objj.h для архітектури i386


У ньому також сказано, що він намагається компілювати файли заголовків як sourcecode.objj.h з Objective-J (який також використовує .h файли для заголовків), чи встановлено у вас капучино?
тематика

Відповіді:


576

Клацніть на вашому проекті та переконайтесь, що цей файл відсутній у вкладці Фази збірки. Зазвичай жодні файли заголовків не повинні залишатися тут. Очистіть і спорудіть його знову, це повинно працювати!


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

Якщо ви отримуєте це попередження від вашої какаоду, ви не переконаєтесь, що значення s.source_filesвстановлено правильно в .podspec.

Наприклад, я спочатку включив усі файли з цього рядка до свого .podspec

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

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

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.

Найпростіший спосіб пошуку файлів - це використання фільтра у верхньому правому куті:

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

Ось вказівки за посиланням:

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.