10

クロノでのコンパイルに問題があります。コードは次のとおりです。

時間.hh

#include        <chrono>

class           Time
{
protected:
  std::chrono::steady_clock::time_point _start_t;
  std::chrono::steady_clock::time_point _now;
  std::chrono::steady_clock::time_point _time;
public:
  Time();
  Time(const Time &other);
  Time          &operator=(const Time &other);
  ~Time();
public:
  void          start();
  double        getDurSec();
  double        getDurMilSec();
private:
  void          setNow();
};

コンパイル エラー:

g++  -W -Wall -Wextra -I./include -std=c++0x  -c -o src/Time/Time.o src/Time/Time.cpp
In file included from src/Time/Time.cpp:11:0:
./include/Time/Time.hh:21:3: error: ‘steady_clock’ in namespace ‘std::chrono’ does not     name a type
./include/Time/Time.hh:22:3: error: ‘steady_clock’ in namespace ‘std::chrono’ does not name a type
./include/Time/Time.hh:23:3: error: ‘steady_clock’ in namespace ‘std::chrono’ does not name a type
src/Time/Time.cpp: In member function ‘void Time::start()’:
src/Time/Time.cpp:34:2: error: ‘_time’ was not declared in this scope
src/Time/Time.cpp:34:23: error: ‘std::chrono::steady_clock’ has not been declared

等...

さらに情報が必要な場合は教えてください。

4

1 に答える 1

13

実装されていない4.7.0 より前の g++ バージョンを使用している可能性std::chrono::steady_clockがあります。この場合、次の 2 つの解決策があります。

  • g++ を 4.7.0 以降のバージョンにアップグレードします。
  • 代わりに古い を使用してくださいstd::chrono::monotonic_clock
于 2013-05-13T09:49:12.310 に答える