[解決済み】CMakeでC++ 11を有効にするには?
2022-03-24 14:58:38
質問
CMakeで生成したmakefileを実行してプログラムをコンパイルしようとすると、次のようなエラーが発生します。
範囲ベースの for ループは C++ 98 モードではサポートされていません。
を追加してみました。
add_definitions(-std=c++0x)
に、私の
CMakeLists.txt
しかし、それは役に立ちませんでした。
これも試してみました。
if(CMAKE_COMPILER_IS_GNUCXX)
add_definitions(-std=gnu++0x)
endif()
をすると
g++ --version
を取得します。
g++ (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
私はまた、試してみました。
SET(CMAKE_CXX_FLAGS "-std=c++0x")
これもうまくいきません。
CMakeを使用してC++ 11の機能を有効にする方法がわかりません。
解決方法を教えてください。
結論から言うと
SET(CMAKE_CXX_FLAGS "-std=c++0x")
は、多くのC++11の機能を有効にします。うまくいかなかったのは、このような文になっていたためです。
set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS} -g -ftest-coverage -fprofile-arcs")
この方法に従って、なぜか
-std=c++0x
のフラグが上書きされてしまい、うまくいきませんでした。フラグを1つずつ設定するか、リストメソッドを使用するとうまくいきます。
list( APPEND CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS} -g -ftest-coverage -fprofile-arcs")
関連
-
[解決済み] C++コンパイラーエラー。"invalid declarator before" (無効な宣言子の前に)
-
C++11学習シリーズ No.3 ----配列/valarray
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] CMakeの出力をクリアするための'cmake clean'コマンドを探しています。
-
[解決済み】CMakeでC++ 11を有効にするには?
-
[解決済み】std::weak_ptrはどんな時に役に立つの?
-
[解決済み] GTestとCMakeを使った作業の始め方
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン