2008-09-25 173 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?或者在這種情況下,您可以使用-Wall啓用的combination of options,但不包括-Wunknown-pragmas

+0

我是母語爲英語的人,並且GCC Diagnostic Pragma頁面完全無法理解。 – 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中(這個問題不標記用gcc,所以我加入這個僅供參考),你可以在全球範圍內禁止項目設置 - > C/C++ - >高級。在「禁用特定的警告」

輸入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