sys_secondsを取得するにはどうすればよいですか? Ubuntu20.04で/ usr/bin/c ++を使用して、次のスニペットをコンパイルします。
RCLCPP_WARN_STREAM(get_logger(), "Time: " << std::chrono::sys_seconds(time_.seconds()));
次のエラーが発生します:エラー:「sys_seconds」は「std :: chrono」のメンバーではありません。
c ++の出力は次のとおりです。
c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
による:https://en.cppreference.com/w/cpp/chrono/system_clock によると、c ++ 20には名前空間sys_secondsが必要です。https://en.cppreference.com/w/cpp/compiler_support c ++ 9はc ++ 20をサポートします。しかし、ファイル/ usr/include/c ++/9/chronoを確認すると、c ++ 11バージョンしか表示されません。 CMakeLists.txtに次の行を設定して、c ++ 20でコンパイルしていることを確認します。
set(CMAKE_CXX_STANDARD 20)
不足しているc ++ 20 std libを取得するにはどうすればよいですか?
関連した質問
- C ++プロジェクト:関数を使用してグローバル変数を定義する場所
- C ++でのさまざまなタイプの任意のネストされた反復可能な実装のためのrecursive_transform_reduce関数
- 概念は、2番目の引数がint型であることを課します
- C ++でのさまざまな型の任意のネストされた反復可能な実装のためのLambdaからの自動型推定を備えたrecursive_count_if関数
- C ++でのさまざまなタイプの任意のネストされた反復可能な実装のためのアンラップレベルを持つrecursive_count_if関数
- C ++ 20双方向イテレータの概念を実装する
- C ++ 20フォーマットにフォーマット文字列の強力なtypedefがないのはなぜですか?
- : arrayおよびstd :: vectorタイプ任意のネストされた反復可能なジェネレーター関数のc ++での実装
- 可変個引数テンプレート関数をC ++で特殊化する方法は?
それはリンクされたページが言っていることではありません。システムでは、c ++はデフォルトでg ++にリンクされています。リンク先のページにはいくつかC ++ 20機能はGCC9に実装されていますが、多くの機能は実装されていません。
そのライブラリを実装した言語実装をインストールする。