10

g ++ 4.4を使用して、Debianのリモートサーバーでboostライブラリを使用して小さな.cppファイルをコンパイルしようとしています。この目的でNetbeansを使用します。私のホームマシンはWindows7上にあります。次のコードのリンクに関するいくつかの問題を解決した後

#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問題なくコンパイルします。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

私が逃したものは?

4

1 に答える 1

18

boost_timerに対してリンクする必要があります。-lboost_timergccコマンドラインに追加します。プロジェクトにライブラリを追加する方法については、Netbeansのドキュメントを参照してください。

于 2012-05-12T15:45:47.290 に答える