Qtでプログラムを開発しています。そのメイクファイルは、.proファイルから自動的に生成されます。 g ++用に-std = c ++ 11フラグを設定する必要があるコードを使用する必要があります。このフラグを.proのどこに追加すればよいですか? (Makefileのみを変更しても、プロジェクトをビルドするたびに新しく生成されたものによって上書きされるため、機能しません)。
特定のフラグを挿入するのは魅力的だと思うかもしれません(それについて言及します)
QMAKE_CXXFLAGS += -std=c++11
.proファイルに追加しますが、これはユーザーに代わってそのフラグだけを挿入します。
それでは不十分です。正しい方法は、代わりに挿入することです
CONFIG += c++11
.proファイルで。その後、2つまたは3つの必要な変更がqmake
によって行われます。
-std=c++11
が挿入されます。-stdlib=libc++
が挿入されます。-mmacosx-version-min=10.6
は-mmacosx-version-min=10.7
になります。 (おそらく、他のOSまたはOSバージョンでも同様の変更が必要です。)以下をC++ 11のQt .proに追加できます。-
CONFIG += c++11
Qt 5.4の時点で、C++ 14は
CONFIG += c++14
CXXフラグを変更できます。
QMAKE_CXXFLAGS += -std=c++11
私は通常次のように設定します:
QMAKE_CXXFLAGS += -std=c++11 -Wall -Wextra -pedantic
Snow Leopad 10.6.8とgcc 4.9を使用していますが、使用する必要がありました
CONFIG += c++11
の代わりに
QMAKE_CXXFLAGS += -std=c++11
後者は単に認識されませんでした。
CONFIG += c++11
ubuntuデスクトップにqt5-defaultをインストールした後、Qt4 SDKで.proファイルの
Sudo apt install qt5-default
とにかく、生成されたmakefileには-std=c++0x
オプションが含まれており、C++ 11コードをコンパイルするには十分であると思われます。