Qt / qmake supress предупреждений / проблем из стороннего заголовочного файла - PullRequest
0 голосов
/ 24 октября 2018

Я использую nlohmann json (https://github.com/nlohmann/json) библиотека (1 отдельный файл json.h)) с Qt. Я понимаю, что Qt имеет свою собственную функцию json, поэтому предположим, что может использоваться любой сторонний заголовок. Qt генерируетмножество проблем / предупреждений, и я хотел бы попытаться подавить проблемы / предупреждения только для файла json.h.

[EDIT] Интересно, что сторонняя библиотека json была обновлена ​​с версии 3.3.0 до версии 3.4.0 и все предупреждения исчезли (вероятно, лучший результат). Тем не менее, возможность подавления предупреждений третьих сторон все равно была бы замечательной.

Я попробовал предложения здесь , поместив .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();
}

[ПРАВИТЬ] Все еще надеясь на некоторую помощь. Из комментариев я попытался обернуть включение, которое dя не работаю, с тем, что видно ниже:

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

Я использую qmake, но подумал, что, возможно, решения gcc могут подойти, кажется, что они не работают.

Любая помощь будет оченьоценили.

...