windows:

   1 安装scons

    (1): 下载python2.7, 使用x86_32位,因为scons只有32位安装包可用, http://www.python.org/download/releases/2.7/,python-2.7.6.msi

    (2):下载scons2.3.0,http://www.scons.org/download.php,scons-2.3.0-setup.exe

     (3):安装python 和 scons, 将C:\Python27\Scripts写入PATH

    (4): 下载安装pywin32 ,http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/,pywin32-218.win32-py2.7.exe

   2 安装boost库

   3 下载mongodb的C++ driver http://dl.mongodb.org/dl/cxx-driver/

     4 开始安装

      CD 到解压的driver目录,运行scons,会提示boost的路径不对,打开SConstruct文件,在最后加上env.Append(CPPPATH=["D:/boost/include/boost-1_54"], LIBPATH=["D:/boost/lib/x64"]),指明目录;

      再次运行scons,会提示text.h(89):#error temp error,这是因为scons没带使用 Unicode 字符集的参数,于是就默认使用多字节字符集,打开\mongo-cxx-driver-v2.2\src\mongo\util下的text.h文件,将#error temp error加双斜线注释掉;

      再次运行scons,会提示无法解析的符号,在SConstruct文件中加入env.Append(LIBS=['WS2_32','Dbghelp']);

      如果你也遇到“\mongo-cxx-driver-v2.4\src\mongo\util”中file.cpp文件中90行: _handle = CreateFileW(toNativeString(filename).c_str(), 报的错误,把CreateFileW改成CreateFile。

   5 测试

      

#include <iostream>
#include "mongo/client/dbclient.h"
using namespace std;
using namespace mongo; void run() {
DBClientConnection c;
c.connect("localhost"); //add port,c.connect("localhost:27017")
} int main(void)
{
try {
run();
cout<<"connected ok"<<endl;
}catch(DBException& e){
cout<<"caught"<<e.what()<<endl;
}
return ; }

    工程配置中加入头文件和boost的路径,编译,会有很多连接错误,在链接中加入Dbghelp.lib;WS2_32.lib。编译,还是有错误,仔细一看,发现是mongoclient.lib是在vs2012下编的,而我的测试代码是2010,所以要重新编译mongoclient.lib。

    在SConstruct文件中的

env = Environment(BUILD_DIR='#build',
CLIENT_ARCHIVE='${CLIENT_DIST_BASENAME}${DIST_ARCHIVE_SUFFIX}',
CLIENT_DIST_BASENAME='mongo-cxx-driver',
CLIENT_LICENSE='#LICENSE.txt',
CLIENT_SCONSTRUCT='#SConstruct',
MSVS_ARCH=None,
PYTHON=sys.executable,
PYSYSPLATFORM=os.sys.platform)

改成

env = Environment(BUILD_DIR='#build',
MSVS_VERSION = '10.0',
CLIENT_ARCHIVE='${CLIENT_DIST_BASENAME}${DIST_ARCHIVE_SUFFIX}',
CLIENT_DIST_BASENAME='mongo-cxx-driver',
CLIENT_LICENSE='#LICENSE.txt',
CLIENT_SCONSTRUCT='#SConstruct',
MSVS_ARCH=None,
PYTHON=sys.executable,
PYSYSPLATFORM=os.sys.platform)

  加了一个编辑器选项:MSVS_VERSION。

  再次编译,发现还是有连接错误,搞了半天,把运行库改为MT,然后改为release,就好了。就是说不能用debug来测试了?

  再次改SConstruct文件的配置,使之能用于debug:在文件最后加上env.Append(CCFLAGS = ['-D_DEBUG']),就能编出debug版的lib文件了,参考http://www.scons.org/wiki/SconstructMultiple#CA-ea12e28a4186b7e833669c4888e7c7337fa73293_1。如果要编MDd的,就改为env.Append(CCFLAGS = ['-D_DEBUG', '/MDd'])。

  最终编完。

    

  

    

mongo的安装的更多相关文章

  1. mongo db安装和php,python插件安装

    安装mongodb 1.下载,解压mongodb(下载解压目录为/opt) 在/opt目录下执行命令 wget fastdl.mongodb.org/linux/mongodb-linux-x86_6 ...

  2. 一、Mongo的安装

    注:学习为主,平台为WIN7 32位系统 一.Mongo的安装 1.1 下载 到官方下载地址(http://www.mongodb.org/downloads)去下载所需要的版本 1.2 安装与运行 ...

  3. 【Mongo】安装并配置副本集

    最近的一个小项目需要用到mongo,所以开始学习下mongo.本打算开三台虚机严格按照生产来配置,然后发现有点带不动,所以决定在一台上通过三个端口来模拟. 1.获取安装包 curl -O http:/ ...

  4. Java从入门到精通——数据库篇Mongo DB 安装启动及配置详解

    一.概述     Mongo DB 下载下来以后我们应该如何去安装启动和配置才能使用Mongo DB,本篇博客就给大家讲述一下Mongo DB的安装启动及配置详解. 二.安装 1.下载Mongo DB ...

  5. Mongo DB 安装-及分布式集群部署(初稿)

    一.安装步骤, 1, 下载最新的Mongo DB数据库:http://www.mongodb.org/downloads?_ga=1.44426535.2020731121.1421844747\ 下 ...

  6. Failed global initialization:FileNotOpen: Failed to open "C:\MongoDB\data\log\mongo.log" 安装MongoDB时卡死

    在安装MongoDB的时候,下载了3.6版本,安装过程中发现到一半就卡死了,后面换了一个较低版本的才安装成功 这里是所有MongoDB版本的下载地址: https://www.mongodb.org/ ...

  7. Mongo Plugin插件(编辑器PyCharm的Mongo插件安装与使用)

    博主接触到MongoDB数据库.用普通的Navicat工具 是不支持的 正准备重新安装一款对应的可视化工具.刚好发现在PyCharm编辑中有连接mongoDB数据的插件 Mongo Plugin 这里 ...

  8. Ubuntu下Mongo的安装和笔记

    在linux下的安装 打开https://www.mongodb.com/download-center#community选择linux然后选择自己的Version复制DOWNLOAD旁边的链接 打 ...

  9. mongo windows 安装

    下载安装包 一路next 打开cmd 或者 power shell 准备本地目录. D: #进入d盘 md data #创建目录 data cd data #进入目录 data md config # ...

随机推荐

  1. linux修改时区为中国时区(北京)

    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  2. [CareerCup] 17.11 Rand7 and Rand5 随机生成数字

    17.11 Implement a method rand7() given rand5(). That is, given a method that generates a random numb ...

  3. java中用过滤器解决字符编码问题

    java的web程序经常出现中文乱码的问题,用一个实现了Filter接口的过滤器类可以较好地解决这个问题. 方式一 EncodingFilter import java.io.IOException; ...

  4. 手机横屏竖屏css

    @media是css3中新定义的,功能非常强大,顾名思义PC是无法匹配横竖屏的,所以orientation只对移动设备起效. 1.头部声明 复制代码 代码如下: <meta name=" ...

  5. 改centos7的网卡名

    学习参考的文章,地址双手奉上http://www.linuxidc.com/Linux/2015-09/123396.htm 1.查看服务器的流量使用情况,执行命令cat /proc/net/dev ...

  6. c#中文转全拼或首拼

    参考:http://www.jb51.net/article/42217.htmhttp://blog.csdn.net/cstester/article/details/4758172 Chines ...

  7. ajaxfileupload.js

    jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId = 'jUploadFrame' ...

  8. select的5中子句where,group by, havaing, order by, limit的使用顺序及实例

    -- 语法: SELECT select_list FROM table_name [ WHERE search_condition ] [ GROUP BY group_by_expression ...

  9. iOS 如何通过CocoaPods添加第三方框架

    一  先安装Ruby环境: http://ruby-china.org/wiki/install_ruby_guide 在安装的时候,若是出现: 1.You don't have write perm ...

  10. Shell 之外 试试不操作 shell 来实现同样的效果

    执行程序时发生了什么当你双击桌面上的终端程序图标时,就会打开一个载入shell的程序. 你键入的命令不会直接在内核执行,而是先和 shell 进行交互.Command (eg. `ls -l')↓Te ...