これは私の Test.pro です。
CONFIG += c++14
SOURCES += main.cpp
そして私のmain.cpp:
int main(){}
多くの重複によると、これは私にC ++ 14を与えるはずです。ただし、Qt 5.8.0-1とMinGW gcc 5.3.0-1をメンテナンス ツール経由でインストールしたQt Creator 4.2.0でプロジェクトをビルドすると、
g++ -c -pipe -fno-keep-inline- dllexport -g -std=gnu++1y -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I.. . -IC:\Qt\5.8\mingw53_32\include -IC:\Qt\5.8\mingw53_32\include\QtGui -IC:\Qt\5.8\mingw53_32\include\QtANGLE -IC:\Qt\5.8\mingw53_32\include\QtCore -Idebug -IC:\Qt\5.8\mingw53_32\mkspecs\win32-g++ -o debug\main.o ..\Test\main.cpp
これは-std=c++14
私が期待するものではありません。
などの他の質問からあらゆる種類のトリックを試しました
QMAKE_CXXFLAGS_CXX14 = -std=c++14
CONFIG += c++14
QMAKE_CXXFLAGS += -std=c++14
SOURCES += main.cpp
その結果、
g++ -c -pipe -fno-keep-inline-dllexport -std=c++14 -g -std=gnu++1y -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_GUI_LIB -DQT_CORE_LIBS -DQT_NEED I..\Test -I. -IC:\Qt\5.8\mingw53_32\include -IC:\Qt\5.8\mingw53_32\include\QtGui -IC:\Qt\5.8\mingw53_32\include\QtANGLE -IC:\Qt\5.8\mingw53_32\include\QtCore -Idebug -IC:\Qt\5.8\mingw53_32\mkspecs\win32-g++ -o debug\main.o ..\Test\main.cpp
2 番目のオプションは最初のオプションを上書きします。つまり、まだgnu++1y
-mode または単に
QMAKE_CXXFLAGS += -std=c++14
SOURCES += main.cpp
これも結果として
g++ -c -pipe -fno-keep-inline-dllexport -std=c++14 -g -std=gnu++11 -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_GUI_LIB -DQT_CORE_LIBS -DQT_NEED I..\Test -I. -IC:\Qt\5.8\mingw53_32\include -IC:\Qt\5.8\mingw53_32\include\QtGui -IC:\Qt\5.8\mingw53_32\include\QtANGLE -IC:\Qt\5.8\mingw53_32\include\QtCore -Idebug -IC:\Qt\5.8\mingw53_32\mkspecs\win32-g++ -o debug\main.o ..\Test\main.cpp
ビルド ディレクトリと Test.pro.user ファイルを削除して最初からビルドを強制しましたが、C++14 は何も得られませんでした。
qmake に C++14 を使用するように指示するにはどうすればよいですか?
使用しているバージョンの Qt は、使用しているコンパイラを明示的にサポートしていません。次のいずれかを実行できます。
プロジェクトでと の両方 QMAKE_CXXFLAGS_CXX14
を設定QMAKE_CXXFLAGS_GNUCXX14
します。
win32-g++ {
QMAKE_CXXFLAGS_CXX14 = -std=c++14
QMAKE_CXXFLAGS_GNUCXX14 = -std=c++14
}
mkspecs/win32-g++/qmake.conf
Qt インストール フォルダー内で、上記の 2 つの変数のデフォルト値を編集します。
mkspec
からコピーした新しいwin32-g++
コンパイラを追加し、コンパイラをターゲットにして、それを使用して Qt をビルドします。その Qt を使用するすべてのプロジェクトは、C++14 サポートに対して正しく動作します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加