Я пытаюсь скомпилировать эту простую программу, чтобы начать изучать, как использовать таймеры:
#include <boost/timer.hpp>
using boost::timer::cpu_timer;
//...
nanosecond_type last_checkpoint_time = 0;
cpu_timer checkpoint_timer; // start the timer
for (;;)
{
//process_a_transaction();
if (checkpoint_timer.elapsed().user - last_checkpoint_time > 5*1000000000LL)
{
//... create a checkpoint ...
last_checkpoint_time = checkpoint_timer.elapsed().user;
cout << checkpoint_timer.elapsed().user << endl;
}
}
Я использую gentoo linux и выдаю следующую команду для компиляции:
g ++ -I / usr / include / boost-1_46 timer1.cpp -o таймер
Я получаю эти ошибки:
timer1.cpp:3:21: error: ‘boost::timer::cpu_timer’ has not been declared
timer1.cpp:5:1: error: ‘nanosecond_type’ does not name a type
timer1.cpp:6:1: error: ‘cpu_timer’ does not name a type
timer1.cpp:8:1: error: expected unqualified-id before ‘for’
timer1.cpp:8:8: error: expected unqualified-id before ‘)’ token
Я читал документы в разделе Ошибки и предупреждения , но у меня проблема в том, что у меня есть только две библиотеки:
/usr/lib/libboost_test_exec_monitor-1_46.a
/usr/lib/libboost_test_exec_monitor-mt-1_46.a
Это потому, что я не использовал флаг static-libs во время компиляции boost? Будет ли мне лучше использовать static-libs? Может быть, это касательная. Что еще может вызвать ошибки, приведенные выше? Пожалуйста, прости мое невежество, поскольку я довольно плохо знаком с C ++ / boost.
Спасибо