关闭

Building Mongodb with Visual Studio 2008

1038人阅读 评论(0) 收藏 举报

原文参考http://www.mongodb.org/display/DOCS/Building+with+Visual+Studio+2008

最近要使用mongodb的C++客户端,在网上找了一圈,都是1.2版本的C++ driver部署。在mongodb的官网上,1.8.3版本已经不随服务端附带C++客户端所需的.h,.cpp和.lib文件了,需要自己编译出来。

好,let us start

1、先去mongodb官网下载源代码,mongodb-src-r1.8.3 ,解压到C:\mongodb-src-r1.8.3

2、获取boost 1.42的支持库,mongodb的源代码有C++写成,其中大量使用了boost,因此需要在编译的时候用到boost。http://www.mongodb.org/pages/viewpageattachments.action?pageId=12157032包含一份boost 1.42,下载之后解压到C:\boost文件夹。注意,最新的boost库是不与mongodb1.83匹配的,不能正确编译。

3、获取SpiderMonkey,SpiderMonkey是一个JavaScript的解释器,mongodb有个终端shell可以用来管理数据库,用的语法就是Javascript。

http://www.mongodb.org/display/DOCS/Building+Spider+Monkey有编译SpiderMonkey的内容,我们可以直接获取编译好的版本,解压到C:\js。

如果不是放在C盘,也务必和mongodb-src-r1.8.3目录同级。

4、安装SCons1.2.0,SCons用来指导mongodb源代码的编译,SCons1.2.0的安装需要python2.6.4,python当前的最新版本已经是3.2了,但这里我们需要的是2.6,3.2版本的python在编译mongodb源码时会报错。ps:python在2.6之后有过重大的调整。

5、编译mongodb,打开VS2008 commond prompt,切换到C:\mongodb-src-r1.8.3,直接输入

scons                   // build mongod
scons mongoclient.lib   // build C++ client driver library
scons all               // build all end user components
scons .                 // build all including unit test


就可以了,会稍微等一小会。mongodb官网上说在windows cmd中也可以编译,不过我的报说找不到C++编译器,总之上面的方法是可行的。

正常的话,我们可以通过windows cmd 的cd C:\mongodb-src-r1.8.3然后输入mongod来启动mongodb数据库。

6、example,至此我们已经可以利用mongodb的C++ driver写程序了,新建一个控制台工程,在工程属性中附加头文件包含C:\boost,C:\mongodb-src-r1.8.3,指定附加库的目录包含C:\boost,C:\mongodb-src-r1.8.3,C:\boost\lib,拷贝下面的代码

#include <iostream>
#include "client/dbclient.h"
#program(lib,mongoclient.lib)
using namespace mongo;

void run() {
  DBClientConnection c;
  c.connect("localhost");
}

int main() {
  try {
    run();
    cout << "connected ok" << endl;
  } catch( DBException &e ) {
    cout << "caught " << e.what() << endl;
  }
  return 0;
}

编译运行,如果按照步骤5,正确开启了mongod数据库的话,应该会看到connect ok。

enjoy youself!

0
0

猜你在找
【直播】机器学习&深度学习系统实战(唐宇迪)
【直播】Kaggle 神器:XGBoost 从基础到实战(冒教授)
【直播回放】深度学习基础与TensorFlow实践(王琛)
【直播】计算机视觉原理及实战(屈教授)
【直播】机器学习之凸优化(马博士)
【直播】机器学习之矩阵(黄博士)
【直播】机器学习之概率与统计推断(冒教授)
【直播】机器学习之数学基础
【直播】TensorFlow实战进阶(智亮)
【直播】深度学习30天系统实训(唐宇迪)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1503次
    • 积分:29
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:0篇
    • 译文:1篇
    • 评论:0条
    文章存档