Подтвердить что ты не робот

Добавление дополнительной опции компилятора в Qt

Где в Qt можно указать дополнительные параметры компилятора? Например, -std = С++ 0x?

4b9b3361

Ответ 1

Вы можете попробовать добавить

QMAKE_CXXFLAGS += -std=c++0x

в ваш .pro файл.

Однако это не должно использоваться в Qt 5 для включения определенного стандарта С++. Вместо этого c++11 или c++14 в переменной CONFIG, чтобы сделать это. Он будет включать расширения GNU (-std = gnu ++ 11), но если это нежелательно, добавьте strict_c++, если вы хотите их отключить. Например, это должно передать -std=c++11 компилятору:

CONFIG += c++11 strict_c++

Ответ 2

В вашем файле .pro вы можете добавить:

QMAKE_CXXFLAGS += -std=c++0x

Я думаю, что каждая переменная в spec qmake.conf может быть изменена так.

Например, спецификация win32-g++ имеет среди прочих переменных следующие:

QMAKE_CC        = gcc
QMAKE_LEX       = flex
QMAKE_LEXFLAGS      =
QMAKE_YACC      = byacc
QMAKE_YACCFLAGS     = -d
QMAKE_CFLAGS        =
QMAKE_CFLAGS_DEPS   = -M
QMAKE_CFLAGS_WARN_ON    = -Wall
QMAKE_CFLAGS_WARN_OFF   = -w
QMAKE_CFLAGS_RELEASE    = -O2
QMAKE_CFLAGS_DEBUG  = -g
QMAKE_CFLAGS_YACC   = -Wno-unused -Wno-parentheses

QMAKE_CXX       = g++
QMAKE_CXXFLAGS      = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE  = $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD   = $$QMAKE_CFLAGS_THREAD
QMAKE_CXXFLAGS_RTTI_ON  = -frtti
QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions

Ответ 3

Способ QT связан с параметрами компилятора через файл.pro. Если возможно, это обоюдоострый меч. Это создает хорошую абстракцию, особенно при компиляции больших проектов. Проблема в том, что вам нужно либо поискать, либо запомнить, как добавить флаг. В случае С++ 0X вы должны добавить следующий флаг в ваш.pro файл:

QMAKE_CXXFLAGS += -std=c++0x

К счастью, большинство флагов, которые вам нужны, автоматически добавляются, если вы используете QtCreator.