我在哪里可以找到libboost_random?

时间:2012-09-04 09:44:53

标签: c++ ubuntu boost random linker

我正在尝试编译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的版本问题。只是希望有人可以就我需要解决的问题提供一些指导来解决问题。

干杯,

1 个答案:

答案 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

或您想要的任何版本。