这个问题是在从1.82升级到2.0的时候出的连接问题,自己用了很长时间才解决掉,总算解决了,分享下原因吧。主要是因为从官网上下载的C++ Mongo驱动有问题。必须自己编译,可以通过命令查看:
>>nm libmongoclient.a | grep get_system_category U _ZN5boost6system19get_system_categoryEv U _ZN5boost6system19get_system_categoryEv U _ZN5boost6system19get_system_categoryEv U _ZN5boost6system19get_system_categoryEv U _ZN5boost6system19get_system_categoryE
会发现这个在boost库中根本就没有这个函数。可能官网提供的lib编译参数不一样。 只能自己编译了。 另外如果boost还有其它问题,你需要。
1.删除boost /usr/include/ 和/usr/lib/下的 所有关于boost的文件 还有系统自带的 一般在 /usr/lib64 下 可以通过 locate boost | grep usr 来查找2.重新安装boost:
./bootstrap.sh
./bjam install
默认会安装到/usr/local 下
本文详细介绍了在从1.82升级到2.0的过程中遇到的C++Mongo驱动连接问题,并分享了解决方法。主要原因是官网提供的lib编译参数不正确,导致缺少boost库中的get_system_category函数。解决方案包括手动编译boost库,以及删除并重新安装boost库。
4367

被折叠的 条评论
为什么被折叠?



