CLionでC++ 11コードを実行しようとしていますが、機能しません。それは言う:
...
/projects/CLion/untitled/main.cpp:7:1: note: C++11 ‘constexpr’ only available with -std=c++11 or -std=gnu++11
...
CMAKE_C_FLAGS
から-std=c++11
または-std=gnu++11
しかし、私は同じ問題をまだ抱えています。通常のC++コードは正常にコンパイルされます。
C++ 11コードをコンパイルするには、CLionのCMakeウィンドウでどのフラグを設定する必要がありますか?
CMake 3.1以降では、 CMAKE_CXX_STANDARD
変数 を11
に設定できます。
ターゲットの
CXX_STANDARD
プロパティのデフォルト値。この変数は、すべてのターゲットの
CXX_STANDARD
プロパティを初期化するために使用されます。
このターゲットをビルドするために機能が要求されるC++標準。
このプロパティは、このターゲットをビルドするために機能が要求されるC++標準を指定します。一部のコンパイラでは、これにより
-std=gnu++11
などのフラグがコンパイル行に追加されます。サポートされている値は98、11、および14です。
要求された値によって、使用中のコンパイラーにコンパイルフラグが追加されない場合は、代わりに以前の標準フラグが追加されます。これは、以下を使用することを意味します:
set_property(TARGET tgt PROPERTY CXX_STANDARD 11)
-std=gnu++11
または同等のフラグをサポートしないコンパイラでは、エラーや警告は発生しませんが、サポートされている場合は代わりに-std=gnu++98
フラグが追加されます。この「減衰」動作はCXX_STANDARD_REQUIRED
ターゲットプロパティで制御できます。コンパイル機能については、 cmake-compile-features(7) マニュアルを参照してください。
このプロパティは、ターゲットの作成時に設定されている場合、
CMAKE_CXX_STANDARD
変数の値によって初期化されます。