MongoDB 学习笔记

这两天为了搞定这玩意儿可是花了我不少时间跟精力啊,各种网上搜资料,尝试各种乱七八糟的库、软件神马的,好在功夫不负有心人,终于在今天的凌晨把这玩意儿给搞定了。官网上提供下载的那个 c++ driver 需要用到一个 python 的 construction 工具scons 来 build,网上也有茫茫多的资料是介绍用这个工具来 build的,当然这些资料介绍的方法必然是麻烦的,而且还会遇到诸多问题,比如某个地方的编译错误神马的。终于,今天上网淘资料的过程中,在github 里面找到了一个叫 mongodb-cxx-windows-driver的项目,进去一看,发现这货其实就是一个带有 vs2008 项目文件的 c++ driver,具体情况见:https://github.com/aposto/mongodb-cxx-windows-driver

 

下 载到本地解压后用 vs2008 打开,然后配置 boost库的路径、配置输出文件神马的就不多说了。如果字符集用 Unicode,就可以直接build 通过了,下面着重说一下使用多字节字符集会遇到的两个问题。首先在 log.h 文件的364 行会有一个编译错误,大概意思是说不能把 LPTSTR 转换成 wstring,至于原因相信大家都清楚。其实用 sconsbuild 的时候遇到的那个编译错误就是这里,大概是因为 scons 调用 cl.exe的时候没带使用 Unicode 字符集的参数,于是就默认使用多字节字符集了,于是就那啥了。解决方法其实很简单,就是给 364行这一句加个条件编译。

将代码:

string x = toUtf8String(errorText);

改为:

#if defined(_UNICODE)

      stringx = toUtf8String(errorText);

#else

      stringx(errorText);

#endif

 

这里改掉过后,继续 build,还会遇到一个定位到 text.h 114 行的编译错误,这一行就这么一句:#error temperror,不得不说这一句略显坑爹了。不过既然这样,这个错误就更好解决了,直接在前面加俩斜杠把这一行注释掉就OK了。


boost下载地址:http://sourceforge.net/projects/boost/files/boost/1.42.0/boost_1_42_0.zip/download

 

这里搞定过后,再次 build就妥妥的了,接下来就可以写测试程序了。关于测试程序和测试方法,大家可以参考这篇文章:http://www.cnblogs.com/logicbaby/archive/2011/07/04/2097697.html。唯一需要注意的地方就是,client中的网络部分使用了 winsock的东西,所以需要在“项目属性->链接器->输入->附加依赖项”中包含 ws2_32.lib。

原文:

http://hi.baidu.com/ufownl/blog/item/db01c14515818e3dcefca36d.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值