如何在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 :(得分:0)
原来我忘了添加一个破折号。这很有效:
QMAKE_CXXFLAGS += -Wno-missing-field-initializers
我一直在尝试-Wnomissing-field-initializers
(没有破折号),这就是我收到错误的原因,即没有这样的参数。