Как указать -W4 (Visual Studio) в проекте Qt? - PullRequest
0 голосов
/ 23 января 2019

Моя среда:

  • Windows 10, 64-битная
  • Microsoft Visual Studio 2015
  • Qt 5.6.2
  • Qt Creator 4.8.1

Я хочу скомпилировать свой проект C ++ с -W4 вместо значения по умолчанию -W3, поэтому я добавил эту строку в свой файл .pro:

QMAKE_CXXFLAGS += -W4

Но затем я получаю множество предупреждений (по-видимому, по одному на каждую единицу компиляции):

cl : Command line warning D9025 : overriding '/W4' with '/W3'

Из командной строки я вижу, что командная строка включает в себя -W3 и -W4 (в этом порядке).

Итак, мой вопрос: Как мне поменять местами порядок -W3 и -W4 (так что -W4 будет иметь приоритет над -W3)?

Обратите внимание, что это не сработало : я попытался изменить файл конфигурации Qt C:\Qt\5.6.2\msvc2015_64\mkspecs\common\msvc-desktop.conf, изменив значение переменной QMAKE_CFLAGS_WARN_ON с -W3 на -W4 и не добавив -W4 в QMAKE_CXXFLAGS в моем файле .pro, но это вызвало много (тысячи) предупреждений, генерируемых библиотеками. Я также попытался добавить -W4 к QMAKE_CXXFLAGS_WARN_ON (вместо QMAKE_CXXFLAGS) в моем файле .pro, с тем же результатом (тысячи предупреждений из библиотек).

Также обратите внимание, что если я добавлю -Wall (вместо -W4) к QMAKE_CXXFLAGS, то:

  • Я не получаю аналогичных предупреждений командной строки (хотя -Wall затем -W3 в командной строке)
  • Я все еще получаю много предупреждений из библиотек, но значительно меньше, чем с -W3, измененным на -W4 в msvc-desktop.conf (или с -W4, добавленным к QMAKE_CXXFLAGS_WARN_ON в моем .pro файле).

Я использую qmake (через Qt Creator), поэтому любые решения, которые потребуют редактирования сгенерированных файлов проекта Visual Studio, будут неприемлемы.

1 Ответ

0 голосов
/ 23 января 2019

Изменение в файле вашего проекта добавляет настройку предупреждения к существующей переменной, которая предопределена:

QMAKE_CXXFLAGS += -W4

Вы можете либо добавить переменную в начале, либо фактически заменитьсуществующее значение переменной предупреждения с вашим собственным:

QMAKE_CXXFLAGS ~= s/-W3/-W4
...