Нет, MSVC не имеет -isystem
эквивалента.
посмотрите на выходные данные из cl /? :
/ wd отключить предупреждение n
/ мы рассматриваем предупреждение как ошибку
/ wo выдают предупреждение один раз
/ w установить уровень предупреждения 1-4 для n
Обратите внимание, что это отключает предупреждения для всего вашего проекта; Я помню, что при использовании Qt я предпочел бы изменить его главный заголовок с отключенным предупреждением #pragma и снова включить его в конце, чтобы я мог видеть все предупреждения для своего собственного источника.
Редактировать автор отредактировал свой вопрос, обновил ответ: нет способа получить ваш код с предупреждениями и код Qt без предупреждений, используя флаги компилятора: как вы собираетесь сообщить компилятору, что «ваш» 'код?
Обратите внимание, что вышеупомянутые флаги также могут применяться на уровне файлов, так что это позволит вам отключить предупреждения только для тех файлов, в которые вы включаете заголовки Qt, но что все еще означает, что вы не можете видеть их для вашего собственного кода в этих файлах.
Так что я остаюсь с ответом выше; это не совсем красиво, но я уверен, что это единственный способ: использовать #pragma в начале и в конце заголовка (ов) Qt. Либо измените заголовки Qt (даже более уродливо), либо выберите менее инвазивный способ, подобный этому:
//your source/header file
#include "shutuppqt.h"
#include <QString>
#include "enableallwarnings.h"
пример "shutuppqt.h"
#ifdef MSVC
#pragma warning ( disable : 4222 ) //or whatever warning Qt emits
#else
//....
#endif
пример "enableallwarnings.h"
#ifdef MSVC
#pragma warning ( enable : 4222 ) //or default instead of enable
#else
//....
#endif