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。

我怀疑可能 random 已从 boost 中删除到标准 c++ 库中?我不确定,但我看到一些评论说这已经发生在其他领域。问题是如果是这种情况,我会认为我会在网络上的某个地方看到一些帖子。

我应该注意到 libwebsocket++ 的作者声明 1.47 boost 在 osx 上测试,1.46 在 linux 上测试。所以我怀疑这是库的版本问题。只是希望有人可以就我需要解决的问题提供一些指导。

干杯,

4

1 回答 1

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

也可以直接安装。例如

$ 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

或任何你想要的版本。

于 2012-09-04T11:30:58.947 回答