Мне интересно, возможно ли иметь ужас в gcc/g ++ исключить определенные файлы (те, которые у меня нет для изменения исходного кода), чтобы я мог продолжать использовать werror в свободном состоянии.Werror игнорировать определенные файлы
ответ
Моя единственная мысль - скомпилировать файлы, которые вы можете изменить отдельно с помощью -Werror
, а затем связать их с другими файлами объектов/библиотек без -Werror
.
А если они только файлы заголовка: - / –
Используйте pragma directives с более новой версией gcc (4.2, я думаю), чтобы отключить -Werror для определенных заголовков, прежде чем включать их.
Возможно, вы захотите принять ответы на свои предыдущие вопросы.
Миллер уже @ Сэм дал справочную документацию о том, как это сделать ...
Вы можете временно отключить -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
), но я думаю, что здесь также хорошо быть явным.
- 1. Subversion Игнорировать определенные файлы
- 2. Скажите GIT игнорировать определенные файлы
- 3. игнорировать определенные файлы на HG тянуть
- 4. Попросите врача-пивовара игнорировать определенные файлы * .dylib
- 5. Как игнорировать определенные файлы в репозитории Git?
- 6. Невозможно игнорировать затмить определенные файлы в gitignore
- 7. PHP Recursive Directory Iterator - игнорировать определенные файлы.
- 8. Grunt Uglify - игнорировать определенные файлы/папки
- 9. Меньше файлов Watcher - Игнорировать определенные файлы
- 10. Rar command - игнорировать определенные папки
- 11. мерзавец игнорировать определенные директории исключение
- 12. window.getSelection() игнорировать определенные теги
- 13. httpd.conf: игнорировать определенные каталоги?
- 14. Regex игнорировать определенные символы
- 15. Игнорировать определенные строки
- 16. git игнорировать определенные каталоги
- 17. subversion, исключая определенные файлы
- 18. игнорировать определенные файлы во всех папках, используя один .gitignore файл
- 19. Git - Игнорировать определенные файлы, содержащиеся в определенных папках
- 20. Как заставить Git автоматически игнорировать определенные файлы при изменении настроек?
- 21. Mercurial - Игнорировать определенные файлы, основанные на существовании других файлов
- 22. слияние филиал. - Как игнорировать определенные файлы при слиянии?
- 23. Как я могу игнорировать определенные файлы из репозитория Git?
- 24. Как игнорировать определенные файлы при отладке в PHPStorm?
- 25. игнорировать определенные файлы js в инструментах chrome dev при отладке
- 26. Игнорировать определенные каталоги или файлы без использования svn: ignore
- 27. Исключить определенные файлы из Atom Tree View игнорировать
- 28. Игнорировать определенные основные файлы при использовании bower-installer
- 29. Как я могу игнорировать определенные файлы при разборе каталога?
- 30. Как я могу сказать svn игнорировать определенные файлы где угодно?
Если у вас нет исходного кода ... тогда у вас уже должна быть библиотека для ссылки. Или вы имеете в виду заголовочные файлы? – Akusete
Err ... если у вас нет исходного кода, тогда GCC не будет жаловаться! –
Кажется, это был dup из http://stackoverflow.com/questions/3308523/how-to-eliminate-external-lib-third-party-warnings-in-gcc – Dummy00001