有条件地禁用QMAKE/GCC的警告?
-
13-09-2019 - |
题
我参与了用QT编写的软件项目,并在Linux上使用Qmake和GCC构建。我们必须链接到质量相当低的第三方图书馆,并提出大量警告。我想在我们的源代码上使用-w -wall,但是将-W传递到讨厌的第三方库,以使控制台没有噪音和混乱,以便我们可以专注于代码质量。
在Qmake中,是否有一种方法可以将CFLAGS/CXXFLAGS添加到某些文件和库中?
解决方案
乔纳森(Jonathan),我认为问题是您的源文件在其中包含来自第三方库的标题文件,您想关闭后者的警告。
凯文,我认为您可以使用布拉格马来控制警告: GCC诊断率
您可以在第三方libs之前和之后添加这些内容。
其他提示
如果您使用-isystem包括库怎么办。
在项目文件中,例如:
QMAKE_CXXFLAGS += -isystem /usr/local/boost_1_44_0
凯文,
qmake CONFIG+=debug QMAKE_CXXFLAGS_WARN_ON=-w QMAKE_CFLAGS_WARN_ON=-w
应该做(如果需要的话,请使用config+=释放...)
通常,您会在与您自己的代码的单独目录中构建第三方库,因此您将为它提供不同的makefile,因此您可以为该汇编放置一组不同的标志。
如果您将第三方库代码与自己的代码混合在一起,则可以为维护噩梦设置自己。
正如马丁(Martin
QMAKE_CXXFLAGS += -isystem ...
仅在各个标题中抑制警告。无需禁用项目(甚至项目范围内)的任何源文件的警告,也无需与#pragmas或包装器文件混乱。
请注意,如果您使用的是qtCreator,您仍然会(IE另外)将目录添加到 INCLUDEPATH
因此,索引器拾取了标题。
不隶属于 StackOverflow