правила сборки для xcode / iPhone - PullRequest
       22

правила сборки для xcode / iPhone

30 голосов
/ 30 сентября 2011

Я включаю SDK facebook в обновление, и я получаю предупреждения компилятора для четырех файлов, в одной из моих целей каждый файл получает два таких предупреждения.

Предупреждение [WARN]: нет правила для обработки файла '$ (PROJECT_DIR) / APP_NAME / Facebook.h' типа sourcecode.c.h для архитектуры armv7

Предупреждение [WARN]: нет правила для обработки файла '$ (PROJECT_DIR) / APP_NAME / Facebook.h' типа sourcecode.c.h для архитектуры armv6

, а в другой цели каждый файл генерирует только одно предупреждение,

Предупреждение [WARN]: нет правила для обработки файла '$ (PROJECT_DIR) / APP_NAME / FBConnect.h' типа sourcecode.c.h для архитектуры i386

в документации к SDK facebook они говорят мне добавить i386 к действующим архитектурам в настройках сборки, но они ничего не говорят о «правилах сборки», странная вещь в том, что я уже включил тот же SDK facebook в другой приложение без единой проблемы. Единственное отличие, которое я вижу, состоит в том, что у этого проекта уже было две цели, и (каждое из) эти предупреждения исходят только от одной из них. Кто-нибудь может дать мне подсказку, как сделать правило сборки для этих четырех файлов? мне нужны правила сборки для armv6 и armv7 и i386?

настройки сборки точно такие же, за исключением разных -info.plist и каждого .pch файла каждый. Я должен добавить, что функциональность facebook работает нормально на симуляторе, но не на любом тестовом устройстве, использующем одну из целей сборки.

Большое спасибо.

Ответы [ 2 ]

115 голосов
/ 15 октября 2011

Предполагая, что вы используете Xcode 4, вполне вероятно, что средство проверки зависимостей сбито с толку, поскольку в списке файлов C для компиляции есть файлы .h.

Итак .... Перейдите на вкладку "Фазы сборки" вашей цели. (Нажмите на проект, затем нажмите на имя цели, затем нажмите на вкладку «Фазы сборки».)

Убедитесь, что вы не перетаскивали файлы .h в раздел «Исходники компиляции».

Обычно при импорте кода просто перетаскивают весь участок в этот раздел, не осознавая, что файлы .h технически не скомпилированы, а средство проверки зависимостей недостаточно умен, чтобы выдавать более полезное сообщение об ошибке.

8 голосов
/ 19 октября 2012

http://dhilipsiva.blogspot.in/2012/10/xcode-warning-no-rule-to-process-file.html

В списке должны быть только файлы .m.Я не знаю, можем ли мы поместить в него файл .c, но не должно быть никаких других типов файлов.Мне нравится, что некоторые разработчики даже перетаскивают файлы Javascript в скомпилированные исходники.Если вы столкнулись с той же проблемой, вам, вероятно, следует remove any non '.m' файлов из списка скомпилированных источников.Вот как вы это делаете, если вы работаете на XCode4.

Откройте вкладку «Фазы сборки» цели вашего проекта.(Нажмите на проект, затем имя цели, а затем на вкладке «Фазы сборки»).В разделе скомпилированных исходников убедитесь, что у вас нет никаких файлов, кроме файлов .m.

Happy Hacking.

...