对boost :: timer :: auto_cpu_timer的未定义引用

时间:2012-05-12 15:41:49

标签: c++ boost compiler-construction

我尝试使用g ++ 4.4在Debian上的远程服务器上使用boost库编译小的.cpp文件。我为此目的使用Netbeans。我的家用机器在Windows 7上。解决了链接下一个代码的一些问题

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

int main()
{
    boost::timer::auto_cpu_timer ac; //line 5
    return 0; //line 6
}

产生2个错误:
第5行:undefined reference to boost::timer::auto_cpu_timer::auto_cpu_timer(short)'
第6行:undefined reference to boost::timer::auto_cpu_timer::~auto_cpu_timer()'

如果我使用头boost/thread.hpp但是对于线程构造函数/析构函数,则结果相同。 但是例如boost/shared_ptr编译没有任何问题。 在neatbeans中的结果编译命令是

g++ -m64 -I/usr/include/boost/boost_1_49_0    -lboost_system -o dist/Debug/GNU-Linux-x86/test build/Debug/GNU-Linux-x86/main.o
-L/usr/include/boost/boost_1_49_0/stage/lib -Wl,-rpath /usr/include/boost/boost_1_49_0/stage/lib  build/Debug/GNU-Linux-x86/main.o

我错过了什么?

1 个答案:

答案 0 :(得分:17)

你需要链接boost_timer。将-lboost_timer添加到gcc命令行。请参阅Netbeans文档,了解如何将库添加到项目中。