wake-up-neo.com

Hinzufügen einer zusätzlichen Compiler-Option in Qt

Wo kann ich in Qt zusätzliche Compileroptionen angeben? Wie zum Beispiel -std = c ++ 0x?

42
smallB

Sie können versuchen, hinzuzufügen

QMAKE_CXXFLAGS += -std=c++0x

in Ihre .pro-Datei.

Dies sollte jedoch in Qt 5 nicht zum Aktivieren eines bestimmten c ++ - Standards verwendet werden. Verwenden Sie stattdessen c++11 Oder c++14 In der Variablen CONFIG, um dies zu tun. Es wird GNU Erweiterungen (-std = gnu ++ 11) aktivieren, aber wenn dies unerwünscht ist, fügen Sie strict_c++ Hinzu, wenn Sie diese deaktivieren möchten übergeben Sie -std=c++11 an den Compiler:

CONFIG += c++11 strict_c++
47
Dotti

In Ihrer .pro-Datei können Sie Folgendes hinzufügen:

QMAKE_CXXFLAGS += -std=c++0x

Ich denke, jede Variable in der Spezifikation qmake.conf kann so geändert werden.

Die win32-g ++ - Spezifikation enthält unter anderem folgende Variablen:

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
17

Der Umgang von QT mit Compileroptionen erfolgt über die .pro-Datei. Es ist ein zweischneidiges Schwert, wenn ich darf. Es erzeugt eine schöne Abstraktion, insbesondere beim Kompilieren großer Projekte. Das Problem ist, dass Sie entweder nachschlagen oder sich merken müssen, wie Sie die Flagge hinzufügen. Im Fall von C++ 0X müssen Sie Ihrer .pro-Datei das folgende Flag hinzufügen:

QMAKE_CXXFLAGS += -std=c++0x

Glücklicherweise werden die meisten der benötigten Flags automatisch hinzugefügt, wenn Sie QtCreator verwenden.

6
kmdent