我正在尝试编译默认编译为静态的 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 上测试。所以我怀疑这是库的版本问题。只是希望有人可以就我需要解决的问题提供一些指导。
干杯,