本博客将记录在Win8.1 ,VS2013环境下编译、配置mongodb C++ driver的流程。

1.下载预备

下载Boost:http://sourceforge.net/projects/boost/files/boost-binaries/1.58.0/  注意下binary版的,即安装版的exe,我下载32位的,下载64位的编译的mongodb C++ driver总是出错,估计是因为VS2013里编译的是32位程序

下载python 2.X :https://www.python.org/downloads/release/python-2710/

下载SCons :http://www.scons.org/

下载mongodb C++ driver:https://github.com/mongodb/mongo-cxx-driver/releases   注意:也可以通过git来下载

2.安装

安装python 和SCons,傻瓜安装

安装Boost,傻瓜安装。

编译mongodb C++ driver,cmd进入你下载的mongodb C++ driver目录,键入以下命令:

scons install --cpppath=D:\boost_1_58_0 --libpath=D:\boost_1_58_0\lib32-msvc-12.0  --dbg=on --32 --dynamic-windows --sharedclient     其中cpppath代表boost的安装路径,libpath代表boost lib库的路径,dbg表示编译为debug而不是release版本。

编译结束后会在文件夹出现一个build文件夹,里面的install\include就是头文件包含目录,install\lib便是库目录。将它们分别加入VS你新建的项目之中,如何在VS工程中添加外部的包含与库目录可以自行百度,很简单。

由于这个两个目录中还有dll文件,也应该加到调试环境path中去。

完成以上就基本搞定了,启动mongodb,由以下代码测试:

#include "stdafx.h"

#include <iostream>
#include <cstdlib>
#include <winsock2.h> #include "mongo\client\dbclient.h" using namespace std; void run()
{
mongo::DBClientConnection con;
con.connect("127.0.0.1:27017");
} int _tmain(int argc, _TCHAR* argv[])
{
WSAData wsaData;
if (WSAStartup(MAKEWORD(, ), &wsaData) != )
{
return -;
} try
{
run();
cout << "conn ok" << endl;
}
catch (const mongo::DBException &e)
{
cout << "caught " << e.what() << endl;
}
getchar();
return ;
}

windows平台下安装、编译、使用mongodb C++ driver的更多相关文章

  1. Windows 平台下安装Cygwin后,sshd服务无法启动

    Windows 平台下安装Cygwin后,sshd服务无法启动 系统日志记录信息: 事件 ID ( 0 )的描述(在资源( sshd )中)无法找到.本地计算机可能没有必要的注册信息或消息 DLL 文 ...

  2. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

  3. 在Windows平台下安装与配置Memcached及C#使用方法

    1.在Windows下安装Memcached 资料来源:http://www.jb51.net/article/30334.htm 在Windows平台下安装与配置Memcached的方法,Memca ...

  4. 获取Windows平台下 安装office 版本位数信息

    最近在处理客户端安装程序过程,有一个需求:需要检测Windows平台下安装office 版本信息以及获取使用的office是32 位还是64 位: 当检测出office 位数为64位时,提示当前off ...

  5. MongoDB学习总结(一) —— Windows平台下安装

    > 基本概念 MongoDB是一个基于分布式文件存储的开源数据库系统,皆在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB将数据存储为一个文档,数据结构由键值key=>val ...

  6. [转]Windows平台下安装Hadoop

    1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...

  7. 如何在Windows平台下安装配置Memcached

    Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一 ...

  8. mongoDB 在windows平台下安装成系统服务

    1,用如截图所示命令将mongoDB安装成windows系统服务,byRuiy Tips[Note,logpath and dbpath根据你命令行指导的路径,这些目录一定要已经创建]

  9. 在Windows平台下安装与配置Memcached的方法分享

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据库驱动网站的速度.Memcached ...

随机推荐

  1. eclipse设置项目编码

    首先Windows->Preferences, 然后选择General下面的Workspace. Text file encoding选择Other GBK, 如果没有GBK的选项, 没关系, ...

  2. 28. Implement strStr()

    Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...

  3. iOS9 3DTouch开发

    在iOS 9中,新iPhone将第三维度添加到了用户界面. 用户现在可以用力摁下主屏按钮来快速调出应用提供的功能菜单. 在应用中,用户现在可以用力摁下视图以查看更多内容的预览并且快速访问一些功能. 想 ...

  4. iOS开发 二维码生成

    基于libqrencode的二维码生成 + (void)drawQRCode:(QRcode *)code context:(CGContextRef)ctx size:(CGFloat)size { ...

  5. 02.JavaScript 面向对象精要--函数

    在JavaScript中,函数其实也是对象.是函数不同于其他对象的特点是:函数存在一个被称为[[Call]]的内部属性.[[Call]]属性是函数独有的,表明该对象可以被执行.ECMAScript 定 ...

  6. js操作新添加的DOM的问题

    $(function(){ $("body").on("click", '.abc', function(){ alert('ok'); }); $('.b') ...

  7. i.

    史上最全web.xml配置文件元素详解 一.web.xml配置文件常用元素及其意义预览 <!--servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立.修改和删除会话或 ...

  8. 【网络】IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)

    1.htonl ()和ntohl( ) u_long PASCAL FAR ntohl (u_long netlong); u_short PASCAL FAR ntohs (u_short nets ...

  9. 对Android开发者有益的40条优化建议

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

  10. Response.Write("<script>alert('弹出对话框!')</script>") 后跟Response.Redirect("page.aspx");不能弹出对话框,直接跳转页面了 如何解?

    Response.Write和Response.Redirect一起用的时候就会这样,write脚本和redirect脚本不能同时使用,这样不会执行脚本,最好使用ClientScript 改进方法: ...