MongoDB数据库CXX Driver编译

最近项目需要,想要测试下MongoDB读写大量小图片的速度(单纯文件系统io效率比较低,想试试NoSQL能不能提速), 因为使用C++开发,所以使用MongoDB的CXX驱动,需要自己编译,下面记录整个编译过程

  1. CXX Driver下载

    从Github的MongoDB官方源中下载https://github.com/mongodb/mongo-cxx-driver/tree/26compat,因为我需要稳定的驱动,因此选择26compat分支。然后参考官方的编译指导(https://github.com/mongodb/mongo-cxx-driver/wiki/Download%20and%20Compile)进行编译。

  2. 依赖项下载和编译

    根据官方的编译指导,需要如下依赖项,需要依次下载

    • C++编译器:这个不需要说,肯定需要,只要安装了MSVC就肯定有
    • BOOST:著名的C++拓展库,准C++标准库,官方网址http://www.boost.org/,我下载的是1.55版本,具体编译和使用方法网上很多。我是直接使用根目录下的bootstrap.bat生成b2.exe,然后“b2”直接编译整个库,相当费时间,汗一个
    • Python:主要是为了使用下面介绍Scons,由于我使用的Scons2.3.1版本不支持python3+,因此我下载的是python2.7版本,下载地址 https://www.python.org/,我直接下载msi安装文件安装,安装的时候注意勾选将python添加到系统路径选项
    • Scons:根据介绍,这货是类似Cmake的存在,不知道为什么不适用cmake而使用这个。。,官方网址http://scons.org/, 我下载的的是2.3.1版本,安装方法很简单,根据根目录下的“README.txt”,在根目录下打开命令行窗口,输入如下命令即可
    python setup.py install
  3. CXX Driver编译

打开VS2010的命令行编译工具,切换到CXX Driver的根目录,使用如下命令进行编译:

scons --use-system-boost --32 --sharedclient --dynamic-windows --prefix=$HOME/mongo-client-install install-mongoclient --cpppath="D:\Dev\boost_1_55_0" --libpath="D:\Dev\boost_1_55_0\stage\lib" --full install-mongoclient

注意prefix选项表示最后生成的库安装的地方,cpppath和libpath表示boost库的位置,请根据自己的需要修改,其他的选项请参考官方编译指导修改“https://github.com/mongodb/mongo-cxx-driver/wiki/Download%20and%20Compile

吐槽一句,官方的命令行完全不行么,总是提示install-mongoclient 错误,可视不加这个选项就完全没有开发库安装么(就是没有吧h文件和lib文件提取出来放到一个文件夹里),这怎么玩。


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

MongoDB数据库CXX Driver编译

时间: 2024-10-26 12:30:42

MongoDB数据库CXX Driver编译的相关文章

MongoDB 4.6.1 c++ driver 编译

这个版本已经和之前不一样了,有专门的github的项目. https://github.com/mongodb/mongo-cxx-driver 首先获取源代码: git clone https://github.com/mongodb/mongo-cxx-driver.git 然后切换分支: git checkout 26compat 然后用下面的命令编译: scons --prefix=/usr --use-system-boost --sharedclient --full install

浅析MongoDB数据库的海量数据存储应用

[摘要]当今已进入大数据时代,特别是大规模互联网web2.0应用不断发展及云计算所需要的海量存储和海量计算发展,传统的关系型数据库已无法满足这方面的需求.随着NoSQL数据库的不断发展和成熟,可以较好地解决海量存储和海量计算方面的应用需求.本文重点描述作为NoSQL之一MongoDB数据库在海量数据存储方面的应用. 1 引言NoSQL,全称是“Not Only Sql”,指的是非关系型的数据库.这类数据库主要有这些特点:非关系型的.分布式.开源的.水平可扩展的.原始目的是为了大规模web应用,这

Linux/CentOS6.3下MongoDB数据库的安装、配置

下载源码:(放到 /usr/local/src 目录下) 到官网 http://www.mongodb.org/downloads 下载源码 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.7.tgz (64位) https://fastdl.mongodb.org/linux/mongodb-linux-i686-2.2.7.tgz (32位) 注意:32位系统安装32位的,64位系统安装64位的! 安装MongoDB #创建

ubuntu 安装 mongodb 数据库

第一步:下载安装包 下载版本:3.0.1 下载链接:http://www.mongodb.org/downloads 首先在linux中解压缩安装程序 通过命令操作: 解压:[root@localhost  soft]# tar -zxvf mongodb-linux-i686-3.0.1.tgz 解压过程如下: 我们把mongodb-linux-i686-3.0.1.tgz解压后的文件夹重命名为mongodb 我们把在mongodb目录下新建一个data目录存放数据.新建一个log目录存放日志

基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用

在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各个方面来总结并记录一下这个新型.看似神秘的数据库使用过程.本文是这个系列的开篇,主要介绍一些MongoDB数据库的基础知识.安装过程.基础使用等方面. MongoDB是一款由C++编写的高性能.开源.无模式的常用非关系型数据库产品,是非关系数据库当中功能最丰富.最像关系数据库的数据库.它扩展了关系型

C#操作MongoDB数据库方法

本文利用MongoDB官方发布的C#驱动,封闭了对MongoDB数据库的增删改查访问方法. 1.引用MongoDB for C# Driver 从网上下载C#访问MongoDB的驱动,得到两个DLL: MongoDB.Driver.dll MongoDB.Bson.dll 将它们引用到项目中. 2.编写数据库访问帮助类 编写MongoDB访问帮助类MongoDbHelper: 1 using System; 2 using System.Collections.Generic; 3 using

MongoDB数据库简介及安装

一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源的文档数据库──NoSql数据库的一种.NoSql,全称是 Not Only Sql,指的是非关系型的数据库. 特点 MongoDB数据库的特点是高性能.易部署.易使用,存储数据非常方便.主要功能特性有: * 面向集合存储,易存储对象类型的数据. * 模式自由. * 支持动态查询. * 支持完全索引,包含内部

python 读取SQLServer数据插入到MongoDB数据库中

# -*- coding: utf-8 -*-import pyodbcimport osimport csvimport pymongofrom pymongo import ASCENDING, DESCENDINGfrom pymongo import MongoClientimport binascii '''连接mongoDB数据库'''client = MongoClient('10.20.4.79', 27017)#client = MongoClient('10.20.66.10

Express 框架、模板,MongoDB数据库

今天跟大家分享的是Express框架.模板.MongoDB数据库:个人觉得很有用,希望能在大家做项目的的过程中能有所帮助. Express 模板 这是一个用户量较大的一个Node框架,提供了一整套的Node模板,在里面可以使用EJS模板引擎.. 基于 Node.js 平台,快速.开放.极简的 web 开发框架.(开发后端) Express的性能对Node没有影响,依然很高. 安装方法: 1. 全局安装express 和 express应用生成器 npm install express -g np