来自第三方头文件的Qt / qmake抑制警告/问题

时间:2018-10-24 12:12:00

标签: qt compiler-warnings suppress-warnings

我正在将Qt使用nlohmann json(https://github.com/nlohmann/json)库(一个json.h文件)。我意识到Qt拥有自己的json功能,因此假设可以使用任何第三方标头。 Qt会产生很多问题/警告,我想尝试仅针对json.h文件抑制问题/警告。

[EDIT]有趣的是json第三方库已从v3.3.0更新到v3.4.0,所有警告均消失了(可能是最好的结果)。尽管如此,能够抑制第三方警告仍然是一件好事。

我尝试了建议here,方法是将.h放在子目录中,并将子目录添加到INCLUDEPATH中。 $$ PWD显然会提供.pro文件的当前目录。但是执行此操作后没有任何变化。

INCLUDEPATH += $$PWD/thirdparty
QMAKE_CXXFLAGS += -isystem $$PWD/thirdparty/

通过以下简单的hello world示例,很容易重现警告:

#include <QCoreApplication>
#include <QDebug>
#include "json.h"
using namespace nlohmann;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    qDebug() << "hello world";
    return a.exec();
}

[编辑]  仍然希望获得帮助。从评论中,我尝试将包含的内容包装起来,但没有用,如下所示:

#pragma warning(push, 0)
#include "json.h"
#pragma warning(pop)

我正在使用qmake,但认为也许gcc解决方案可能适用,但似乎不适用。

任何帮助将不胜感激。

0 个答案:

没有答案