Как заставить проект Qt QMake использовать стандарт C ++ 98? - PullRequest
0 голосов
/ 12 июня 2018

Я попробовал это в моем .pro, и оно игнорируется:

TEMPLATE = app
CONFIG += console c++98
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += \
        main.cpp

1 Ответ

0 голосов
/ 14 июня 2018

Самое простое решение - использовать проект cmake.Тогда у вас будет:

# CMakeLists.txt
cmake_minimum_required(VERSION 3.1)

project(foo)
add_executable(${PROJECT_NAME} "main.cpp")
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 98)

Qt Creator поддерживает проекты cmake, поэтому использование qmake для таких проектов больше не дает никаких преимуществ.В конце концов, зависимость Qt является ложной - это зависимость от qmake и ничего более, и qmake поставляется только в комплекте с модулем Qt Base.

Для qmake вы должны установить флаги компилятора напрямую:

!win32-msvc: QMAKE_CXXFLAGS += -std=c++98

Нет никакого способа установить его для MSVC, независимо от того, какой инструмент сборки вы используете: это ограничение самого компилятора.Единственный подход - использовать достаточно старый набор инструментов и, при желании, переопределить QMAKE_CXX именем компилятора (не пути!).Компилятор должен быть в PATH, т. Е. Для его настройки необходимо использовать скрипт vsvars набора инструментов.

...