文档章节

在Windows上编译MongoDB C Driver

微云无雨
 微云无雨
发布于 2013/08/07 10:59
字数 473
阅读 3306
收藏 3

  Mongodb 是采用 Scons 来构建的。Scons是一个Python写的自动化构建工具,从构建这个角度说,它跟GNU make是同一类的工具。所以要编译MongoDB的C语言驱动,不仅要有C/C++开发环境,而且还要有Python环境及Scons库。

  编译环境:Windows 2008 + Visual Studio 2010 + Python 2.7 + SCons 2.3.0;其中Python编译器主要有两个版本(2.7和3.x),请务必安装Python2.7,因为SCons2.3.0仅支持Python2.x编译器,并且Python2.7是当前使用最为广泛的版本。

  下载地址:
Python2.7 http://www.python.org/download/releases/2.7.5/
SCons2.3.0 http://www.scons.org/
Mongo-c-driver https://github.com/mongodb/mongo-c-driver(GitHub托管)

  假设当前操作系统上已经配置了C/C++开发环境(Visual Studio 2010);首先安装Python2.7,安装目录默认为C:/Python27;然后安装Scons2.3.0,安装Scons2.3.0时会自动检测Python安装目录,并将安装到Python中的Scripts目录;增加环境变量: C:\Python27 与 C:\Python27\Scripts 到PATH;编译环境搭建完毕。

  下载mongo-c-driver并解压,在“命令提示符”(DOS模拟环境cmd.exe)下进入到mongo-c-driver的解压目录,例如解压到C盘根目录,则路径为C:\mongo-c-driver-master;在C:\mongo-c-driver-master>提示符下,输入SCons --m32 --c99回车即可;编译完成后会在mongo-c-driver目录中生成两个动态链接库bson.dll和mongoc.dll,以及相应的bson.lib和mongoc.lib。

  注:在开发程序进行编译时,需要在项目属性中配置“C/C++"->"预处理器定义”,预定义四个宏MONGO_HAVE_STDINT,MONGO_HAVE_UNISTD,MONGO_USE__INT64,MONGO_USE_LONG_LONG_INT;在"VC++目录"->"包含目录"中,添加C:\mongo-c-driver-master\src目录,包含mongo-c-driver头文件目录;在"链接器"->"输入"->"附加依赖项"中,添加bson.lib和mongoc.lib库,链接mongo-c-driver库,即可编译程序。

  编译截图:编译mongo-c-driver截图

© 著作权归作者所有

共有 人打赏支持
微云无雨
粉丝 1
博文 5
码字总数 5292
作品 0
天津
程序员
私信 提问
加载中

评论(1)

小宝垃圾了
你好,我正好想使用mongodb c driver
看到了您的文章之后
安装上面一步一步去实现
但是出现了问题
在cmd中执行SCons –m32 –c99
出现了错误:
scons: *** No SConstruct file found.
File "C:\Python27\Scripts\..\Lib\site-packages\scons-2.3.0\SCons\Script\Main.py"
, line 905, in _main
我的系统是windows 7 64bit
我不知道我哪里出现了问题
能帮帮我吗
MongoDB的安装及在PHP中的配置----Windows版

1,下载mongodb压缩包http://downloads.mongodb.org/win32/mongodb-win32-i386-2.0.4.zip; 2,解压到指定目录,例如:c:mongo; 3,启动mongodb。首先,需要建立两个目录,一个是日志目录c:m...

那些年我们一起
2012/04/11
0
1
Mongodb GridFS图片文件存储解决方案

Mongodb GridFS图片文件存储解决方案 之前解决方案是接收图片数据后,将图片直接存储到盘阵,然后通过Apache做服务器,将图片信息存储到数据库,并且存储一个Apache的访问路径。 目前需要后台...

一枚Sir
2014/06/19
0
0
win7安装32位mongodb

1)、下载MongoDBhttp://downloads.mongodb.org/win32/mongodb-win32-i386-2.4.5.zip2)、设置MongoDB目录 将其解压到 d:,再重命名为mongodb,路径为d:mongodb 3)、设置数据文件路径 在d:盘建...

泡海椒
2015/11/10
0
0
Mongodb在Windows下安装及配置

1.下载mongodb的windows版本,有32位和64位版本,根据系统情况下载,下载地址:http://www.mongodb.org/downloads 说明:我下载的版本(mongodb-win32-i386-1.8.3.zip)、java的driver(mongo...

李长春
2011/09/02
0
0
MongoDB加入到Windows服务的方法

MongoDB是一款开源的NoSQL数据库,主要应用于数据规模庞大的场合,并被视为Node.js的黄金搭档,由于它采用的是Binary JSON格式,所以与JavaScript具有任何语言都无法媲美的亲和力。关于它的具...

bengozhong
2017/10/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

维信小程序button样式重写

一、小程序button默认按钮样式重写 以primary按钮为例: /**重写默认按钮样式**/button[type='primary'] {background: red;padding: 5px 0px;line-height: 30px;font-size: 14px;......

tianma3798
35分钟前
1
0
使用async和await封装vue中的http请求

实际需求中经常会碰到想异步请求代码写的像同步一样简洁,解决回调地狱,这是最近封装的一个。 // import qs from 'qs';import axios from 'axios'import utils from './util'import { To......

chinahufei
42分钟前
1
1
python中类方法和静态方法区别

面相对象程序设计中,类方法和静态方法是经常用到的两个术语。 逻辑上讲:类方法是只能由类名调用;静态方法可以由类名或对象名进行调用。 在C++中,静态方法与类方法逻辑上是等价的,只有一...

Linux就该这么学
48分钟前
2
0
5G是现实的狂欢还是骨感?

“4G改变生活,5G改变社会。” 这一句充满无限遐想的口号,因2019年世界移动大会(MWC2019)召开带来的产业最前沿动态,让观察者、消费者产生梦想照进现实的感觉。OPPO、小米、华为、三星、LG、...

linuxCool
51分钟前
2
0
Codis的dashboard异常退出后,重新启动报异常的处理方法

dashboard是codis的核心组建,所有集群相关的操作都是通过dashboard进行的。如果dashboard出现宕机、服务被杀掉等极端情况,则会导致codis集群无法使用。 1)codis集群维护时,需要关闭dashb...

linxyz
52分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部