Как использовать /std: C++ последний с Qt 5.12
До Qt 5.12 у нас было QMAKE_CXXFLAGS += /std:c++latest
в нашем .pri
файл, но после Qt 5.12 оба c++latest
а также c++14
устанавливаются в качестве параметров командной строки Visual Studio в сгенерированном .vcxproj
файл проекта.
Я могу добраться до C++17 через config += c++17
, но тогда я получаю эту ошибку: Command line warning D9025: overriding '/std:c++latest' with '/std:c++17'
,
Как использовать последний стандарт C++ в Visual Studio 2019 при использовании файлов проектов, созданных qmake? Сказал иначе, как я могу не дать qmake автоматически вставлять свои собственные -std
вариант?
Редактировать: я был неправ в отношении применения C++14 автоматически. Другой файл.pri установил его.
3 ответа
В Qt 5.13 вы можете обойти эту проблему, добавив
CONFIG += c++2a c++1z c++14
в ваш.pro файл. Значение C++2a отображается в /std: C++ последней.
Просто попробуйте это в своем файле .pro :
CONFIG += c++latest
Использование CONFIG -= c++14
в файле.pri (.pro) в дополнение к QMAKE_CXXFLAGS += /std:c++latest
чтобы qmake не вставлял свои собственные /std
флаг компиляции.
Редактировать: это необходимо, только если ранее включенный.pri имеет CONFIG -= c++14
(и вы не можете удалить это из другого.pri)