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

问题描述 投票:0回答:1

我尝试使用 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()'

如果我使用 header

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

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

我错过了什么?

c++ boost
1个回答
19
投票

您需要链接到 boost_timer。将

-lboost_timer
添加到 gcc 命令行。有关如何向项目添加库的信息,请参阅 Netbeans 文档。

© www.soinside.com 2019 - 2024. All rights reserved.