10

我尝试使用 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 个错误:
第 5undefined 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编译没有任何问题。netbeans 中的结果编译命令是

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

我错过了什么?

4

1 回答 1

18

您需要链接到 boost_timer。添加-lboost_timer到 gcc 命令行。有关如何将库添加到项目的信息,请参阅 Netbeans 文档。

于 2012-05-12T15:45:47.290 回答