web-dev-qa-db-ja.com

Qtに追加のコンパイラオプションを追加する

Qtのどこで追加のコンパイラオプションを指定できますか?たとえば、-std = c ++ 0x?

42
smallB

追加してみることができます

QMAKE_CXXFLAGS += -std=c++0x

.proファイルに。

ただし、特定のc ++標準を有効にするためにQt 5でこれを使用しないでください。代わりに、CONFIG変数のc++11またはc++14を使用します。 GNU拡張(-std = gnu ++ 11))を有効にしますが、それが望ましくない場合は、無効にする場合はstrict_c++も追加します。たとえば、これは渡す必要があります-std=c++11コンパイラーへ:

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

.proファイルに、次を追加できます。

QMAKE_CXXFLAGS += -std=c++0x

仕様の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
17

QTがコンパイラオプションを処理する方法は、.proファイルを使用することです。可能であれば両刃の剣です。特に大規模なプロジェクトをコンパイルするときに、ニースの抽象化を作成します。問題は、フラグを追加する方法を調べるか暗記する必要があることです。 C++ 0Xの場合、次のフラグを.proファイルに追加する必要があります。

QMAKE_CXXFLAGS += -std=c++0x

幸いなことに、QtCreatorを使用すると、必要なフラグのほとんどが自動的に追加されます。

6
kmdent