デフォルトで静的としてコンパイルされるwebsocket ++をコンパイルしようとしています。共有オプションが最適だと思ったので、次のようにしました。
make SHARED-1
次のエラーでさまざまな出力が得られます (次のエラーが原因であると思われるものは無視します)。
/usr/bin/ld: cannot find -lboost_random
私は検索して検索しましたが、websocket ++ではなくランダムブーストライブラリを使用して同じ問題を抱えている人を見つけることができません。
最終的に、次の方法でバージョンを確認する方法を見つけました。
apt-cache showpkg libboost-all-dev
これは私が持っていると述べています:
1.48.0.2 (/var/lib/apt/lists/mirror.aarnet.edu.au_pub_ubuntu_archive_dists_precise_universe_binary-amd64_Packages)
ところで、私はUbuntu 12.04を使用しています。
1.46 に関する投稿にコメントがあったので、バージョンを確認しました (これは 11.10 でサポートされていたと思います)。
私がする場合:
ls /usr/lib/libboost_*.so
私は得る:
/usr/lib/libboost_date_time-mt.so /usr/lib/libboost_serialization-mt.so
/usr/lib/libboost_thread-mt.so /usr/lib/libboost_date_time.so
/usr/lib/libboost_serialization.so /usr/lib/libboost_thread.so
/usr/lib/libboost_program_options-mt.so /usr/lib/libboost_signals-mt.so
/usr/lib/libboost_wserialization-mt.so /usr/lib/libboost_program_options.so
/usr/lib/libboost_signals.so /usr/lib/libboost_wserialization.so
/usr/lib/libboost_regex-mt.so /usr/lib/libboost_system-mt.so
/usr/lib/libboost_regex.so /usr/lib/libboost_system.so
したがって、ライブラリがインストールされていることは明らかですが、boost_random は表示されません。
おそらくランダムがブーストから標準のC ++ライブラリに削除されたのではないでしょうか? 確かではありませんが、これが他の地域で起こったという趣旨のコメントをいくつか見ました. 問題は、これが事実である場合、ネット上のどこかにいくつかの投稿が表示されると思っていたということです。
libwebsocket++ の作成者は、osx では 1.47 ブーストがテストされ、linux では 1.46 がテストされていると述べていることに注意してください。したがって、ライブラリのバージョン管理の問題であると思われます。問題を修正するために何を修正する必要があるかについて、誰かが何らかのガイダンスを提供できることを願っています。
乾杯、