编译mongodb C++驱动 windows
来源:互联网 发布:tgp网络出口不稳定 编辑:程序博客网 时间:2024/06/03 18:34
这个mongodb 的C++ 驱动着实费了我一番功夫,不过终于成功跑通了。
首先,下载驱动源代码:http://dl.mongodb.org/dl/cxx-driver 我在这里下载 2.4版本
安装 scons
下载python2.7并安装,添加环境变量
下载scons , 添加环境变量,注意这里的环境变量是 ...\Python27\Scripts
安装boost ,教程很多。
比如:http://www.cnblogs.com/wondering/archive/2009/05/21/boost_setup.html
注意这里的 boost 版本我们选择 1.49.0,方便起见,我是全部安装的,安装完成之后 除了boost , stage , doc 这三个目录其余全部删除,这个时候大小约1.6G,远没有5G那么大,好多obj文件都是编译的中间文件
之所以选择 1.49.0有如下原因:
boost在1.5以后就将TIME_UTC改为了TIME_UTC_,mongodb 用的绝对不高于1.49.0
官网上说Boost 1.49 source is now included directly in version 2.1.1+,在2.1.1 之后就内部包含1.49 了。显然 2.4 应该用 1.49 的boost ,虽然驱动的源代码没有包含。这是后话。
boost版本太低的话 会出现 Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3 因为 1.49 以后 Filesystem version就是3 了。
安装完boost之后,我们修改 mongodb driver 的源代码:
打开 根目录下的SConstruct 25行 处修改 BUILD_DIR='c:/boost_1_49_0', 这里的boost路径为 你自己机子上的路径,我的放在C盘根目录下
不同的版本可能行数不一样 ,我的是 2.4.3 这个办法就是 把编译目录改为 boost的路径,会在boost路径下 生成 mongo文件夹,编译完成删了就行。
直接编译的话,还会提示错误,text.h # if !defined(_UNICODE) 把前边的# 去掉。
然后cmd 进入下载的源码 根目录 ,scons
等待几分钟,会在根目录下生成 mongoclient.lib。
vs中加入 附加包含目录 ,附加库目录,注意这里 需要加上boost 和mongodb的
另外还需要,在链接里边 加入输入
mongoclient.lib
Dbghelp.lib
Ws2_32.lib
进入vs 输入测试代码
#include <iostream>#include "mongo/client/dbclient.h"using namespace std;int main(){ try { DBClientConnection conn; conn.connect("127.0.0.1:27017"); cout << "connect OK" << endl; } catch(mongo::DBException &e) { cout << e.what() << endl; }}
运行,成功,但这仅仅是 release 静态 版本的编译成功,如果要编译debug版本的 就需要用到整个源代码了
http://www.cnblogs.com/geosky/archive/2013/05/05/VS2010-MongoDB-Cpp-Driver.html
值得注意的是,这个方法编译成功后 依然会有许多 boost 链接的问题 ,这个我的解决办法是 手动加入
#pragma comment(lib, "boost_filesystem-vc100-mt-1_49.lib")
并且拷贝 缺少的boost dll到程序的运行目录,真是麻烦啊。
- 编译mongodb C++驱动 windows
- 在Windows上编译MongoDB C Driver
- 在Windows上编译MongoDB C Driver
- 在windows下编译mongodb c driver
- windows下使用Cmake和VC 2013安装mongodb C driver Windows下安装mongodb的C语言程序驱动必须借助交叉编译软件CMake,但是官网上的文档对于一些
- windows 编译mongodb 2.4
- windows下如何编译MongoDB c语言drive(客户端)
- VS2010编译Mongodb C++驱动
- VS2010编译Mongodb C++驱动
- 编译MongoDB 及驱动
- VS2015下编译 MONGODB 驱动
- mongodb C++驱动VS2012编译
- Mongodb c Driver 编译
- windows安装mongodb,+java驱动
- 用C#操作Mongodb(c#mongodb驱动)
- 用C#操作Mongodb(c#mongodb驱动)
- mongodb的c驱动使用
- MongoDB-C驱动的安装
- Job的提交——JobTracker
- Job的提交—客户端
- linux小记6 权限
- Hadoop公平调度器算法解析
- 排序算法总结(一)计数排序
- 编译mongodb C++驱动 windows
- Hadoop中Map任务的执行框架
- SSH+Highcharts 生成动态图表 ——在思考中解决问题
- apache 集成多个tomcat的方法
- 如何估算PGA,SGA的大小,配置数据库服务器的内存
- Job的任务分解
- Hibernate与H2
- Job的map任务分配
- directX 数学基础-向量