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

Posted

技术标签:

【中文标题】对 boost::timer::auto_cpu_timer 的未定义引用【英文标题】:Undefined reference to boost::timer::auto_cpu_timer 【发布时间】:2012-05-12 15:41:49 【问题描述】:

我尝试使用 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 编译没有任何问题。 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

我错过了什么?

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于对 boost::timer::auto_cpu_timer 的未定义引用的主要内容,如果未能解决你的问题,请参考以下文章

Pyomo 对 NoneType 使用 __round__ 方法

对 def __init__ 中的 __init__ 方法感到困惑

对 `_imp__SetupDiGetClassDevsA@16' 的未定义引用(即使使用 -lsetupapi)

对“imp____glewEnableVertexAttribArray”的未定义引用

对模型使用自定义方法而不是 __unicode__/__str__?

对 __LINE__ 指令的一致性有任何保证吗?