2008-09-25 3 views
40

При разработке приложения на C++ мне пришлось использовать стороннюю библиотеку, которая создавала огромное количество предупреждений, связанных с безвредной директивой #pragma.Как отключить предупреждения #pragma?

../File.hpp:1: warning: ignoring #pragma ident 
In file included from ../File2.hpp:47, 
       from ../File3.hpp:57, 
       from File4.h:49, 

Можно ли отключить этот вид предупреждений при использовании компилятора GNU C++?

ответ

18

Возможно, см. GCC Diagnostic Pragmas? В качестве альтернативы в этом случае вы можете использовать combination of options, который разрешает -Wall, за исключением -Wunknown-pragmas.

+0

Я родной английский динамик и что страница GCC Diagnostic Pragmas полностью непонятна. – 2017-06-28 08:10:52

90

Я считаю, что вы можете скомпилировать с

-Wno-unknown-pragmas 

подавить их.

+4

Спасибо! Это должно быть принято! Это единственный (здесь), работающий с компилятором GCC C++. – Bitterblue 2013-11-22 08:53:20

23

В GCC, компилировать с -Wno-искомыми-прагмами

В MS Visual Studio 2005 (этот вопрос не помечен с НКОЙ, поэтому я добавляю это для справки), вы можете отключить глобально в проекте Настройки-> C/C++ -> Advanced. Введите 4068 в «Отключить конкретные предупреждения»

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

#pragma warning (disable : 4068) /* disable unknown pragma warnings */ 
6

Спасибо каждый за кончик. В моем случае я работаю с Qt Mingw. Мне нужно установить флаг другим способом, в моем файле .PRO:

QMAKE_CXXFLAGS_WARN_ON += -Wno-unknown-pragmas 
+2

Если вы компилируете код C вместо C++, используйте QMAKE_CFLAGS_WARN_ON + = -Wno-unknown-pragmas – redteam316 2013-07-07 08:11:08

Смежные вопросы