MongoDB数据库CXX Driver编译
最近项目需要,想要测试下MongoDB读写大量小图片的速度(单纯文件系统io效率比较低,想试试NoSQL能不能提速), 因为使用C++开发,所以使用MongoDB的CXX驱动,需要自己编译,下面记录整个编译过程
- 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)进行编译。
- 依赖项下载和编译
根据官方的编译指导,需要如下依赖项,需要依次下载
- 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
- CXX Driver编译
打开VS2010的命令行编译工具,切换到CXX Driver的根目录,使用如下命令进行编译:
scons --use-system-boost --32 --sharedclient --dynamic-windows --prefix=$HOME/mongo-client-install --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文件提取出来放到一个文件夹里),这怎么玩。
MongoDB数据库CXX Driver编译的更多相关文章
- mongodb cxx driver学习
mongodb 增删改查 insert 向集合中增加一个文档 remove 删除文档 update 更新(修改)某些文档 文档替换 文档修改器,只修改文档某个部分 find 返回集合中所有文档 fin ...
- MongoDB 4.6.1 c++ driver 编译
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/sheismylife/article/details/25512251 这个版本号已经和之前不一样了 ...
- 在MVC程序中使用MongoDB数据库
.net项目中混搭数据库 安装和部署 C#中使用MongoDB MongoDb与关系型数据库区别 开机自启动 关系型数据库和非关系型数据口可以混搭 MongoDB是一个高性能,开源,无模式的,基于分布 ...
- 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用
在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...
- DotNet 资源大全中文版,内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等
DotNet 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器. ...
- 封装对MongoDB数据库的增删改查访问方法(基于MongoDB官方发布的C#驱动)
本文利用MongoDB官方发布的C#驱动,封装了对MongoDB数据库的增删改查访问方法.先用官方提供的mongo-csharp-driver ,当前版本为1.7.0.4714 编写数据库访问帮助类 ...
- MongoDB数据库简介及安装
一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源 ...
- 浅析MongoDB数据库的海量数据存储应用
[摘要]当今已进入大数据时代,特别是大规模互联网web2.0应用不断发展及云计算所需要的海量存储和海量计算发展,传统的关系型数据库已无法满足这方面的需求.随着NoSQL数据库的不断发展和成熟,可以较好 ...
- NodeJS连接MongoDB数据库时报错
今天第一次尝试连接MongoDB数据库,具体步骤也很简单. 首先,通过NodeJS运行环境安装MongoDB包,进入要安装的目录,执行语句 npm install mongodb 安装成功后,通过如下 ...
随机推荐
- my.宠物升级79级
1.蚌仙子 74级半不到的时候,吃 月华露(500000经验的那种) 吃3个 正好 79级半 我记得 之前 是升满75级 再吃月华露 到79级的时候 经验溢出了.不突破还好,突破的话 宠物就升级了 ...
- jmeter-集合点---学习笔记
集合点: 简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,每到输入用户名和密码登录时,所有的虚拟 ...
- 微服务(Micro Service Architecture)浅析
最近一段时间,微服务的概念很火,可能是跟Docker技术的快速发展和壮大有一定的关系,同时借助于Uber.Netflix.Groupon等公司的实践.宣传和推广,使得MSA渐渐地成为企业或者架构师讨论 ...
- 【Linux】Debian 8 设置命令行界面的文本颜色
平时我们操作的系统命令行界面文本默认黑底白字,有时候会看不惯这种全篇都是白色字符,这个时候可以通过改变PS1环境变量来改变文本颜色.我个人喜欢黑底绿字的搭配,以下是我个人的命令行界面样式: 注意:以下 ...
- 使用cookie的注意事项
一.什么是cookie? Cookie(复数形态Cookies),中文名称为小型文本文件或小甜饼[1],指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密) ...
- QML 程序运行效率
同样的程序,在 Windows 下面启动时非常慢,而在 Linux 上启动时很快,一方面是因为 qml 界面的创建耗时不同,另一方面是因为读取文件的用时相差太大导致. On Linux 在 Linux ...
- HDU 5416——CRB and Tree——————【DFS搜树】
CRB and Tree Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...
- 《Google软件测试之道》之学习笔记01
Google软件测试介绍 软件测试团队->工程生产力(Engineering Productivity) http://googletesting.blogspot.com/2011/01/ho ...
- poj 1947 树形背包
重做这道题 http://blog.csdn.net/woshi250hua/article/details/7632785 http://blog.csdn.net/shuangde800/arti ...
- hibernate课程 初探一对多映射2-5 创建持久化类并配置映射文件
学习点: 1 一对多映射,一方 Grade.hbm.xml的写法: <hibernate-mapping> <class name="com.ddwei.entity.Gr ...