在Qt Creator中禁用-Wmissing-field-initializers警告 [英] Disable -Wmissing-field-initializers warning in Qt Creator
问题描述
如何在Qt Creator中禁用 -Wmissing-field-initializers
警告?
How do I disable the -Wmissing-field-initializers
warning in Qt Creator?
我有一个Qt Creator/MinGW项目,当我对结构进行零初始化时:
I have a Qt Creator/MinGW project, and when I zero-initialize a struct:
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
也不起作用.
But there was no such option. QMAKE_CXXFLAGS -= -Wmissing-field-initializers
didn't work, either.
实际上,没有在命令行中明确指定 -Wmissing-field-initializers
.这是编译器的命令行:
The -Wmissing-field-initializers
is not explicitly specified in the command line, actually. This is the compiler's command line:
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
推荐答案
结果是我忘记添加破折号.这可行:
Turns out I had forgotten to add a dash. This worked:
QMAKE_CXXFLAGS += -Wno-missing-field-initializers
我一直在尝试 -Wnomissing-field-initializers
(不带破折号),这就是为什么我收到一个错误消息,指出没有这样的参数.
I had been trying -Wnomissing-field-initializers
(without dash), that's why I was getting an error that there is no such parameter.
这篇关于在Qt Creator中禁用-Wmissing-field-initializers警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!