2016-02-22 279 views
0

如何禁用Qt Creator中的-Wmissing-field-initializers警告?在Qt Creator中禁用-Wmissing-field-initializers警告

我有一個Qt Creator的/ MinGW的項目,當我零初始化一個結構:

void test() { 
    struct foo {int a, b;}; 
    foo a = {}; 
} 

我得到這樣的警告:

test.cpp:12: warning: missing initializer for member 'test()::foo::b' [-Wmissing-field-initializers] 
     foo a = {}; 
        ^

我嘗試這樣做:

QMAKE_CXXFLAGS += -Wnomissing-field-initializers 

但是沒有這樣的選擇。 QMAKE_CXXFLAGS -= -Wmissing-field-initializers也沒有工作,要麼。

-Wmissing-field-initializers實際上並未在命令行中明確指定。這是編譯器的命令行:

g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DSRCDIR=\"C:/Workspace/NewProjects/TreTest/\" -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR=\"C:/Workspace/NewProjects/build-TreTest-Desktop_Qt_5_4_2_MinGW_32bit-Debug\" -I"..\TreTest" -I"." -I"..\..\..\Qt\5.4\mingw491_32\include" -I"..\..\..\Qt\5.4\mingw491_32\include\QtTest" -I"..\..\..\Qt\5.4\mingw491_32\include\QtCore" -I"debug" -I"..\..\..\Qt\5.4\mingw491_32\mkspecs\win32-g++" -o debug\fuzzyregex.o ..\TreTest\fuzzyregex.cpp 
+0

'-Wextra'激活'-Wmissing-field-initializers'(https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html) –

回答

0

原來我忘記添加短劃線了。這工作:

QMAKE_CXXFLAGS += -Wno-missing-field-initializers 

我一直在試圖-Wnomissing-field-initializers(不含破折號),這就是爲什麼我得到一個錯誤,沒有這樣的參數。