我参与了用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 因此,索引器拾取了标题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top