Проблемы с std:: chrono
у меня возникли проблемы с компиляцией с chrono, вот код:
времени.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
Etc...
скажите мне, если вам нужно больше информации.
1 ответов
вы, вероятно, используете версию g++ до 4.7.0, где std::chrono::steady_clock
не был реализован. Если это так, у вас есть два решения:
- обновите g++ до 4.7.0 или более поздней версии.
- используйте вместо старого
std::chrono::monotonic_clock
.