2

デフォルトで静的としてコンパイルされる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 がテストされていると述べていることに注意してください。したがって、ライブラリのバージョン管理の問題であると思われます。問題を修正するために何を修正する必要があるかについて、誰かが何らかのガイダンスを提供できることを願っています。

乾杯、

4

1 に答える 1

2

Strange. I am running 12.04 and I am currently using boost::random as well.

I have a LOT more boost libraries installed that you do. Looking back at my dpkg log I can see that I installed libboost-dev. This installed 1.48.0.2 on my machine. Try this and report back.

$ ls /usr/lib/libboost_*.so
/usr/lib/libboost_chrono-mt.so          /usr/lib/libboost_iostreams.so     /usr/lib/libboost_math_tr1l-mt.so        /usr/lib/libboost_prg_exec_monitor-mt.so  /usr/lib/libboost_regex-mt.so          /usr/lib/libboost_timer.so
/usr/lib/libboost_chrono.so             /usr/lib/libboost_locale-mt.so     /usr/lib/libboost_math_tr1l.so           /usr/lib/libboost_prg_exec_monitor.so     /usr/lib/libboost_regex.so             /usr/lib/libboost_unit_test_framework-mt.so
/usr/lib/libboost_date_time-mt.so       /usr/lib/libboost_locale.so        /usr/lib/libboost_math_tr1-mt.so         /usr/lib/libboost_program_options-mt.so   /usr/lib/libboost_serialization-mt.so  /usr/lib/libboost_unit_test_framework.so
/usr/lib/libboost_date_time.so          /usr/lib/libboost_math_c99f-mt.so  /usr/lib/libboost_math_tr1.so            /usr/lib/libboost_program_options.so      /usr/lib/libboost_serialization.so     /usr/lib/libboost_wave-mt.so
/usr/lib/libboost_filesystem-mt.so      /usr/lib/libboost_math_c99f.so     /usr/lib/libboost_mpi-mt.so              /usr/lib/libboost_python-mt-py27.so       /usr/lib/libboost_signals-mt.so        /usr/lib/libboost_wave.so
/usr/lib/libboost_filesystem.so         /usr/lib/libboost_math_c99l-mt.so  /usr/lib/libboost_mpi_python-mt-py27.so  /usr/lib/libboost_python-mt-py32.so       /usr/lib/libboost_signals.so           /usr/lib/libboost_wserialization-mt.so
/usr/lib/libboost_graph-mt.so           /usr/lib/libboost_math_c99l.so     /usr/lib/libboost_mpi_python-mt-py32.so  /usr/lib/libboost_python-py27.so          /usr/lib/libboost_system-mt.so         /usr/lib/libboost_wserialization.so
/usr/lib/libboost_graph_parallel-mt.so  /usr/lib/libboost_math_c99-mt.so   /usr/lib/libboost_mpi_python-py27.so     /usr/lib/libboost_python-py32.so          /usr/lib/libboost_system.so
/usr/lib/libboost_graph_parallel.so     /usr/lib/libboost_math_c99.so      /usr/lib/libboost_mpi_python-py32.so     /usr/lib/libboost_python.so               /usr/lib/libboost_thread-mt.so
/usr/lib/libboost_graph.so              /usr/lib/libboost_math_tr1f-mt.so  /usr/lib/libboost_mpi_python.so          /usr/lib/libboost_random-mt.so            /usr/lib/libboost_thread.so
/usr/lib/libboost_iostreams-mt.so       /usr/lib/libboost_math_tr1f.so     /usr/lib/libboost_mpi.so                 /usr/lib/libboost_random.so               /usr/lib/libboost_timer-mt.so

You can also install it directly. e.g.

$ apt-cache search boost random
libboost-random-dev - Boost Random Number Library (default version)
libboost-random1.46-dev - Boost Random Number Library
libboost-random1.46.1 - Boost Random Number Library
libboost-random1.48-dev - Boost Random Number Library
libboost-random1.48.0 - Boost Random Number Library

$sudo apt-get install libboost-random1.46-dev

or whatever version you want.

于 2012-09-04T11:30:58.947 に答える