0

ubuntu 12.04にnetlibをインストールしようとしています。libboost をインストールする必要があるため、次を使用して libboost をインストールしました。

sudo apt-get install libboost-all-dev

しかし、これらの指示に従ってnetlibをインストールしようとすると、次のエラーが発生します。

In function `boost::thread::start_thread()':
undefined reference to `boost::thread::start_thread_noexcept()'
In function `boost::thread::join()':
undefined reference to `boost::thread::join_noexcept()'

また、netlib サンプルを自分でコンパイルしようとしましたが、次のエラーが発生します。

fatal error: boost/network/protocol/http/server.hpp

確認したところ、boost がインストールされているフォルダーにネットワーク ディレクトリがありません。また、ウェブサイトからブーストパッケージをダウンロードしましたが、それらのディレクトリにもネットワークが見つかりませんでした。これらのエラーを修正するには、他に何かする必要がありますか?

ありがとうございました

4

1 に答える 1

0

apt-get は libboost 1.48 をインストールしていましたが、boost の古いバージョンにはいくつかの問題があることがわかりました。

チケット #7570

アーキテクチャ i386 の未定義シンボル - "boost::thread::start_thread_noexcept()"

ヘッダーが古くなっているようです

最初に使用:

sudo apt-get remove libboost-all-dev

ブーストを削除し、ディレクトリ内のすべてのファイルを削除してから、このマニュアル/usr/local/include/boost/に従ってブーストをインストールしました。

于 2013-09-22T06:16:54.633 に答える