У меня следующая ситуация -Временно отключить предупреждения о конкретных версиях GCC
мне нужно скомпилировать мой код с двумя различными версиями GCC (3.2 и 4.4) и хотел бы видеть все предупреждения и рассматривать их как ошибки (в противном случае это скользкий наклон). Я должен включать файлы заголовков, которые я не могу изменить, включая некоторый код. Этот код делает новые предупреждения GCC (например, неиспользуемый параметр).
Если добавить что-то вроде
#pragma GCC diagnostic ignored "-Wunused-parameter"
#include <bad_header.hpp>
#pragma GCC diagnostic error "-Wunused-parameter"
он решает проблему с новой GCC, но старшая не знаком с этим прагмой и выдает предупреждение (которое становится ошибкой).
Что я могу сделать?
- Остановить обработку предупреждения как ошибки
- Surround мой прагму с какой-то версии проверки макросов
Я не люблю оба решения, есть что-нибудь еще я могу сделать?
Update следующий ответ Sander De Dycker в
Моя система сборки не позволяет мне использовать -isystem флаг с GCC
Вы также можете бросить ваши неиспользуемые параметры '(void)', чтобы отключить предупреждения. –
... или не называть их в списке параметров. –
@ FrédéricHamidi: Все в порядке, если вы не имеете дело с «файлами заголовков, которые я не могу изменить». (Лично я просто удалю это ограничение, но мы, вероятно, должны предположить, что есть настоящая причина не менять их). –