build mongo-cxx-driver-legacy-0.0-26compat-2.6.12.tar.gz

来源:互联网 发布:网络装修平台有哪家 编辑:程序博客网 时间:2024/05/16 06:14

本来有个能用的debian虚拟机,里面有同事做好的Mongo环境(db+legacy c++ driver), 可惜前几天硬盘坏了,杯具. 只好自己从头装debian虚拟机.

在debianX648.8.8上做实验, 装好了MongoDB 2.6.2和mongo-cxx-driver-legacy-0.0-26compat-2.6.12.

编译时, 其他资料google都有(debian, ssh, mongo, boost, …). 照着来, 缺啥软件就apt-get install.
在编译mongo legacy c++driver时,愣了一下. 其实我很想,有没有apt-get能搞定的legacy mongo-c++-driver, 没找到资料.

现在官方MongoC++Driver都是新版了(对应mongo3.x),要用c++新标准. 讲旧版驱动的资料,有点少.
最后找到官方的旧版驱动编译资料 :https://mongodb.github.io/mongo-cxx-driver/legacy-v1/installation/.

下载mongo-cxx-driver-legacy-0.0-26compat-2.6.12.tar.gz,解压到/home/ls/prj/mongo-cxx-driver-legacy-0.0-26compat-2.6.12, 用scons命令编译.

工程下载点

编译成功后,写了一个测试程序,包进编译好的mongo client库,好使,能正常操作mongodb.
src_testcase_mongo.zip

编译mongo-cxx-driver-legacy-0.0-26compat-2.6.12

在/home/ls/prj/mongo-cxx-driver-legacy-0.0-26compat-2.6.12中执行:
scons –prefix=mongo_client_lib –cache-disable –use-system-boost –full

在/home/ls/prj/mongo-cxx-driver-legacy-0.0-26compat-2.6.12/build/linux2/use-system-boost/mongo_client_lib下生成lib,include目录,
lib,include 可以包在工程中用了.

现在好像是mongo环境都全了,一会我试试.
在工程中只能包生成好的lib,include目录,不能从编译前的目录中拷贝文件. 否则可能有莫名其妙的错误. 可以将编好的库拷贝进工程里,换个计算机还可以编译(只要boost是全的)
将Makefile调整好,就可以写代码了。

mongo-cxx-driver-legacy-0.0-26compat-2.6.12 中有些例子, 在/home/ls/prj/mongo-cxx-driver-legacy-0.0-26compat-2.6.12/src/mongo/client/examples目录中。

0 0