Boost计时器无法编译

Jac*_*ock -3 c++ boost timer

我正在尝试编译boost计时器,它正在抛出我不明白的错误.它让我觉得计时器库已被打破:

#include <string>
#include <boost/lexical_cast.hpp>
#include <boost/timer/timer.hpp>

int main(int argc, char **argv) {
//  auto_cpu_timer t;
    std::cout << boost::lexical_cast<std::string>(2.0) << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果没有#include for timer.hpp,它就会编译.有了它,它会引发以下错误:

Invoking: GCC C++ Linker
g++ -Lsrc -o "timetest"  ./src/main.o   
./src/main.o: In function `__static_initialization_and_destruction_0':
/usr/include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()'
collect2: ld returned 1 exit status
make: *** [timetest] Error 1
Run Code Online (Sandbox Code Playgroud)

这是否意味着计时器库被破坏了?我正在使用Boost 1.49.0.

谢谢!

Ale*_*ato 5

假设您使用gcc,请尝试将-lboost_system添加到编译器命令行以链接该库.