2017-03-28 5 views
0

ブーストインクルードを含むg ++を使用して単純なC++プログラムをコンパイルしようとしていますが、次のエラーが発生しています。私はそれをブーストサイトにあるtarファイルからインストールしました。私はasioライブラリのみで次のエラーが発生します。ブーストライブラリの問題

$ g++ -std=c++03 -Wall -pedantic -g -O2 tcp.cpp -lboost_system -lboost_date_time -lboost_thread -lboost_asio 
/usr/bin/ld: cannot find -lboost_asio 
collect2: error: ld returned 1 exit status 
+0

-lboost_asioがわかりません。 – Papipone

答えて

2

ブーストAsioはヘッダーのみです。

ドロップ-lboost_asio

+0

私はそれをドロップするとコンパイルされますが、pgmを実行中に次のエラーが発生します.. ./a.out:共有ライブラリの読み込み中にエラーが発生しました:libboost_system.so.1.55.0:共有オブジェクトファイルを開くことができません:ディレクトリ –

+0

コンパイルが必要なコンポーネントに依存している場合、Asioは「ヘッダのみ」と数えているとは思えません。 – Xirema

+0

私はboost asioページからサンプルプログラムをコンパイルしようとしています –

0

ASIOオプションは本当に意味がないよう-lboost_asioを示し、それのために構築されたライブラリーを持っていません。

しかし、ASIOはboost.systemに依存しています。これには、ライブラリを構築する必要があります。

最初にブーストライブラリを正しく作成したこと(最適化フラグが正しく、ランタイムライブラリのリンクが正しいかどうか、アーキテクチャが正しいかなど)、生成されたライブラリファイル(.soファイル、あなたのケース)は実行可能ファイルにアクセスできます。

関連する問題