我正在尝试编译websocket++,它默认编译为静态的。我认为共享选项是最好的,所以我做了一个:
make SHARED-1我得到了带有以下错误的各种输出(忽略我认为是由以下错误引起的输出):
/usr/bin/ld: cannot find -lboost_random我找了又找,找不到其他有同样问题的人,不是在websocket++上,而是在使用随机boost库时。
我最终找到了如何通过以下方式检查我的版本:
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++库中了?我不确定,但我看到了一些评论,大意是这已经发生在其他领域。问题是,如果是这样的话,我会认为我会在网上的某个地方看到一些帖子。
我应该注意到,libwebsocket++的作者声明1.47Boost是在osx上测试的,1.46是在linux上测试的。所以我怀疑这是libs的版本问题。只是希望有人能提供一些指导,告诉我需要修复什么来纠正这个问题。
干杯,
发布于 2012-09-04 19:30:59
真奇怪。我运行的是12.04,我现在也在使用boost::random。
我安装的boost库比你多得多。回顾我的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或者任何你想要的版本。
https://stackoverflow.com/questions/12260800
复制相似问题