2010年12月23日星期四

wirte C++ for MongoDB: smoking on Ubuntu

这周利用晚上的时间在笔记本的ubuntu上装了mongodb,把官网上的一小段C++ code点亮了。
参考
http://www.mongodb.org/pages/viewpage.action?pageId=133415
http://www.mongodb.org/display/DOCS/Building+for+Linux
怨念:
1)它依赖boost等,得先安装一大堆乱七八糟的库
2)源代码庞大,从github上全clone出来需要很久,然后scons又要build很久,都build完整个目录将近800MB,晕死
3)编译C++ code时候好像绕不开-L参数,不然link的时候报错,分明安装的时候所有东西都已经存到系统路径了,奇怪
g++ tut.cpp -o tut -lmongoclient -lboost_thread-mt -lboost_filesystem-mt -lboost_program_options-mt -L/home/ytwang/lib/mongo
我猜是因为libmongoclient.a在/home/ytwang/lib/mongo
而且引用应该写成这样
#include <mongo/client/dbclient.h>
4)运行时需要后台有守护进程mongod,像mysqld,而不是像sqlite那样纯粹基于文件
5)生成的binary也比较臃肿,刚点亮就快10MB了,感觉远不像想象中那样轻量级

没有评论: