Заставьте Xcode игнорировать предупреждения о сборке LLVM в стороннем проекте - PullRequest
7 голосов
/ 24 сентября 2011

У меня есть сторонний проект в моем рабочем пространстве XCode (это зависимость для моего основного проекта), и я хочу, чтобы XCode игнорировал все предупреждения о сборке из этого стороннего проекта.

Желательно, чтобы я игнорировалвсе предупреждения о сборке для группы Vendor / * в моем проекте, так как именно туда я поместил весь свой сторонний код.

Возможно?

Ответы [ 4 ]

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

Да, это возможно, но только если вы компилируете сторонние файлы в отдельную цель.Таким образом, вы можете установить различные флаги компилятора.

Допустим, вашей основной целью является приложение.Вы определили параметры сборки, а также флаги предупреждений компилятора.

Теперь вы хотите использовать сторонние источники.Вы импортируете их в свой проект, но они генерируют предупреждение.Конечно, вы можете изменить настройки своей основной цели, но я уверен, что вы хотите сохранить свои собственные настройки.

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

На этапах сборки вашей основной цели свяжите ваше приложение со статической библиотекой.

Таким образом, вы 'Вы сможете использовать сторонний код в своем приложении, имея различные настройки компилятора для стороннего кода.

4 голосов
/ 03 июня 2014

Перейти к Фазы сборки > Компилировать источники . При желании фильтровать список. Выберите те, которые вы хотите исключить, а затем дважды щелкните в пустой области под столбцом Флаги компилятора . Добавьте -w и нажмите return:

Adding compiler flag to Build Phase

4 голосов
/ 16 января 2012

Это возможно для каждого файла, см. Запись в блоге по адресу http://blog.bluelightninglabs.com/2011/12/suppressing-xcode-warnings-on-a-per-file-basis/

Подводя итог: используйте флаги компилятора на вкладке «Фазы сборки».

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

если вас беспокоит только предупреждение через включение, то вы можете заключить свои включенные утверждения в это:

#pragma clang diagnostic push
 // in reality, you will likely need to disable *more* than Wmultichar
#pragma clang diagnostic ignored "-Wmultichar"
#include <TheirLibrary/include.h>
#pragma clang diagnostic pop

Если вы также хотите отключить генерируемые предупреждения о сборке, вы можете использовать -w или GCC_WARN_INHIBIT_ALL_WARNINGS = YES для сторонней цели, с которой вы связываетесь или связываете.

в идеале вы будете подавать отчеты продавцу, если он будет закрыт. если он открыт, то, возможно, вам стоит просто исправить его самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...