2011-02-10 23 views
3

私は現在の作業ディレクトリを変更するためにboost :: filesystemの関数を使用しようとしています(必要に応じて作成します)。Boost.Filesystemとのリンクに関する問題

SBDir.cpp:(.text+0x23): undefined reference to `boost::system::generic_category()' 
SBDir.cpp:(.text+0x2f): undefined reference to `boost::system::generic_category()' 
SBDir.cpp:(.text+0x3b): undefined reference to `boost::system::system_category()' 

しかし、私午前はブーストライブラリにリンク??:私は、リンクエラーを取得していますか!?

-lboost_system -lboost_system-mt -lboost_filesystem -lboost_filesystem-mt 

そして私は-Wl, -tと私が得るので、それはそれらを見つけることができます知っている:

-lboost_system (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_system.so) 
-lboost_system-mt (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_system-mt.so) 
-lboost_filesystem (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_filesystem.so) 
-lboost_filesystem-mt (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_filesystem-mt.so) 

FWIW:私はgccのUbuntu 4.4.3-4ubuntu54.4.3を使用している私には、以下を使用します。

+0

コンパイルとリンクのコマンド –

+0

を提供していますが、長いMakefileの一部であるため、不必要な情報で質問に迷惑をかけることに躊躇しています。私が追加できる具体的なものがありますか? (例えば、私が使用しているリンカーフラグを特に探していますか?) –

答えて

1

私は何がうまくいかなかったのか分からなかったので、Ubuntuのパッケージをアンインストールして、最初からビルドしようとしました。私は1.45.0 &にアップグレードしました。これがバージョン固有の問題であるかどうかは分かりませんが、後で詳しく知ると、私は戻ってきて更新します。

2

ブースト1.46(Ubuntu 11.10で標準)と同じエラーメッセージが表示されていましたが、-lboost_systemを追加する必要がありました。これは11.04では不要で、1.42を追加しました。あなたの質問に答えるのではなく、おそらくエラーメッセージをグーグルで聞いて他の人に興味を持ってもらえます。

関連する問題