Ошибка игнорировать определенные файлы - PullRequest
3 голосов
/ 27 июля 2010

Мне интересно, возможно ли, чтобы werror в gcc / g ++ исключал определенные файлы (файлы, для которых у меня нет исходного кода для изменения), чтобы я мог продолжать использовать werror в свободном состоянии.

Ответы [ 3 ]

3 голосов
/ 27 июля 2010

Используйте директивы прагмы с более новой (думаю, 4.2) версией gcc для отключения -Werror для некоторых заголовков перед их включением.

Возможно, вы захотите принять ответы на свои предыдущие вопросы.

0 голосов
/ 24 сентября 2012

@ Сэм Миллер уже дал справочную документацию о том, как это сделать ...

Вы можете временно отключить -Werror для некоторых предупреждений с помощью #pragma GCC diagnostics warning "-W<kind>".Например:

#pragma GCC diagnostic push
# pragma GCC diagnostic warning "-Wreturn-type"
# pragma GCC diagnostic warning "-Wmissing-braces"
# include "legacy-crap.h"
#pragma GCC diagnostic pop

Более новый gcc напечатает название категории диагностики в скобках как часть предупреждения / ошибки:

warning-test.c:11:1: warning: return type defaults to ‘int’ [-Wreturn-type]

или

warning-test.c:11:1: error: return type defaults to ‘int’ [-Wreturn-type]

Это может быть использовано для точного выбора точной диагностики, которая должна рассматриваться как предупреждение, а не как ошибка при обработке чушь третьей стороны, которую вы не можете изменить.Я не знаю короткой руки, чтобы отключить все предупреждения ("-Wall" не будет иметь желаемого эффекта для вышеупомянутого #pragma), но я думаю, что это также хорошо, чтобы быть явным здесь.

0 голосов
/ 27 июля 2010

Моя единственная мысль - скомпилировать файлы, которые вы можете изменить отдельно с помощью -Werror, а затем связать их с другими файлами объектов / библиотек без -Werror.

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