mongodb的cpp版本驱动编译总结

准备工作

使用cpp语言开发基于mongodb的应用时, 需要使用mongo的cpp驱动去连接和操作mongodb.
然而, mongodb的官方网站并没有提供编译好的驱动, 只提供了源代码, 需要用户自己编译.
对于windows操作系统来说, 进行源码编译是相当麻烦的.
mongo的cpp驱动的编译依赖于boost, bson和mongo的c驱动, 因此需要先编译bson和mongo的c驱动.
mongo的c驱动依赖于bson和sasl, 需要先编译bson, 然后编译mongo的c驱动.

工具准备

本次编译使用vc版本的编译器, 因此需要安装64位vs2015社区版.
mongo的c驱动源码, bson源码, mongo的cpp驱动源码都是用cmake构建的, 需要预先安装一下cmake.

综上, 编译之前需要安装64位的vs2015社区版(带有vc开发包), cmake工具.

安装完毕上面两个软件, 将cmake的bin目录添加到环境变量中的path路径下.

源码准备

本次编译的依赖情况如下:
bson编译第三方依赖.
mongo的c驱动依赖bson和sasl.
mongo的cpp驱动依赖bson, mongo的c驱动, boost.

其中, sasl和boost可以在官网上下载到编译好库文件.

综上分析, 需要从github中下载的源码有, bson, mongo_c, mongo_cxx.

bson编译

首先是bson的编译

准备

在mongo的c驱动中并没有提到需要下载bson的源码.

readme.md文件中这样描述编译过程:

cd mongo-c-driver-$ver
cd src\libbson
cmake -DCMAKE_INSTALL_PREFIX=C:\usr -G "Visual Studio 10 Win64" .
msbuild.exe ALL_BUILD.vcxproj
msbuild.exe INSTALL.vcxproj

当我们执行第三行命令时, 命令行会提示没有找到cmakelist.txt文件. 同时, 当我们使用资源管理器查看这个目录时, 会发现这个目录是空目录.
事实上在github上, 这个目录指向了另一个资源.
这个资源也在github的mongodb用户下. 找到资源后把源码下载下来.

编译

根据上面的命令行一步一步敲也是一种安装的方法.
但是, 既然是在windows操作系统上面, 为什么不直接使用GUI程序呢.

事实上, cmake为windows用户提供了GUI版本的程序.

在src选项中选择bson的src目录
在build选项中选择bson的build目录
然后添加”DCMAKE_INSTALL_PREFIX”变量, 这个变量为编译完成后的安装目录.

然后点击configure按钮, 配置项目.
然后点击generate按钮, 生成项目.

然后在build目录下可以看到sln格式的文件, 这个是vs的解决方案.
可以启动vs, 然后打开这个解决方案.
先构建”ALL_BUILD”, 然后构建”INSTALL”, 最后就可以在前面设置的目录下面找到编译完成的bson库.
编译完成的bson库包括三个文件夹, 分别是bin, lib, include.

当然也可以使用命令行进行编译.
在windows自带命令行中使用msbuild.exe时会提示没有找到msbuild.exe.
解决方案是, 在开始菜单中找到vs2015文件夹, 里面有个命令行, 然后在这个命令行中跳转到bson的build目录下面中, 执行下面的命令:

msbuild.exe ALL_BUILD.vcxproj
msbuild.exe INSTALL.vcxproj

接着就可以在指定的安装目录中找到编译完成的bson库.

mongo的c语言驱动编译

准备

mongo的c语言驱动编译时需要依赖bson和sasl.
bson在前面的步骤已经编译完毕, 而sasl在项目网站可以下载到编译完成的windows版本.

编译

依旧使用cmake的GUI界面, 将src选择mongo_c的src目录, 将build选择mongo_c的src目录.
点击configure按钮时, 会提示错误, bson目录没有配置和sasl的include目录lib目录没有配置.
在图形界面中选择这几个目录, 然后点击”configure”, 生成成功.

然后使用开始菜单中的vs文件夹, 找到命令控制台, 然后跳转到相应的目录, 运行下面命令:

msbuild.exe ALL_BUILD.vcxproj
msbuild.exe INSTALL.vcxproj

mongo的cpp语言驱动编译

准备

mongo的cpp语言驱动需要依赖与bson, mongoc和boost.
前两者已经编译完毕, boost可以下载到编译完成的库文件.

编译

同样使用cmake的GUI界面, 然后点击configure按钮时, 会提示sasl, bson, mongoc和boost参数没有配置.
使用用户界面将这几个参数设置为特定的参数. 然后使用configure进行生成.

接着, 使用vs的命令控制台跳转到相应的目录下, 执行下面命令:

msbuild.exe ALL_BUILD.vcxproj
msbuild.exe INSTALL.vcxproj

完成安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值