我正在尝试编译websocket ++,默认情况下编译为static。我认为共享选项最好,所以我做了一个:
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。
我怀疑也许随机已从boost升级到标准c ++ lib?我不确定,但我已经看到一些评论意见,这发生在其他领域。问题是,我认为如果是这种情况,我会在网上的某处发现一些帖子。
我应该注意到libwebsocket ++的作者声称1.47 boost在osx上测试,1.46在linux上测试。所以我怀疑它是libs的版本问题。只是希望有人可以就我需要解决的问题提供一些指导来解决问题。
干杯,
答案 0 :(得分:2)
奇怪。我正在运行12.04,我目前正在使用boost :: random。
我安装了更多的升级库。回顾我的dpkg日志,我可以看到我安装了libboost-dev
。这在我的机器上安装了1.48.0.2。试试这个并报告回来。
$ 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
您也可以直接安装它。 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
或您想要的任何版本。