mongo-c-driver使用VS2013编译
1、下载mongo-c-driver源码文件
使用github来下载。
git clone https://github.com/mongodb/mongo-c-driver.git
下载完之后,进入src/libbson目录下,下载`libbson的源码。
git clone https://github.com/mongodb/libbson.git .
编译后的文件可以在这里下载
mongo-c-driver-win32-bin.7z
mongo-c-driver-win64-bin.7z
2、编译libbson
这里先需要使用cmake工具来生成VS2013的项目文件。如果没有安装cmake,请先安装。
进入mongo-c-driver/src/libbson目录,打开命令行窗口,执行以下命令:
mkdir msvc12 # 建立VS2013项目文件输出路径
cd msvc12 # 进入该路径
cmake -DCMAKE_INSTALL_PREFIX=D:\work_code\mongo-c-driver\usr -G "Visual Studio 12 Win64" ..
上面最后一条命令中的D:\work_code\mongo-c-driver\usr表示的是生成的VS项目中INSTALL.vcxproj这个项目的生成输出路径,也就是libbson编译后的库文件和头文件的输出路径。
Win64指定项目编译输出的将是64位的库。可以不加此参数,则为32位的库。
执行完上面的命令后,可以使用如下命令来编译和安装:
msbuild ALL_BUILD.vcxproj # 编译
msbuild INSTALL.vcxproj # 安装
上面两个命令需要在VS2013 开发人员命令提示下运行。(默认生成的是Debug版本)

如果觉得这样麻烦,你也可以直接使用VS2013打开msvc12目录下的libbson.sln文件,然后依次生成ALL_BUILD和INSTALL项目。
如果需要生成32位版本的,也可以在这里直接新建解决方案平台。

编译后输出的结果如下图

3、编译mongo-c-driver
这里的过程和上面差不多。
先回到mongo-c-driver目录下,执行下面命令:
mkdir msvc12 && cd msvc12
cmake -DCMAKE_INSTALL_PREFIX=D:\work_code\mongo-c-driver\usr -DBSON_ROOT_DIR=D:\work_code\mongo-c-driver\usr -G "Visual Studio 12 Win64" ..
上面的-DBSON_ROOT_DIR=D:\work_code\mongo-c-driver\usr是用于指定libbson库的路径。
执行如下命令来编译和安装:
msbuild ALL_BUILD.vcxproj # 编译
msbuild INSTALL.vcxproj # 安装
编译后输出的结果如下图

mongo-c-driver使用VS2013编译的更多相关文章
- VS2013编译google protobuf 出现问题error C3861: “min”:
问题描述: 今天用vs2013编译protobuf 2.4.1 报错: 错误 3 error C3861: "max": 找不到标识符 f:\google\protobuf\pro ...
- Vs2012(Vs2013) 编译 64位 Qt (动态库), 并使用自编译Qt建立工程(悲催经历)。(含遗留问题)
仅供参考. 体会:我个人此次编译不该使用Vs2013编译Qt. 使用以下程序: Qt : qt-opensource-windows-x86-msvc2012_64_opengl-5.2.1.exe ...
- vs2013编译boost1.55.0 32/64位
在使用vs2013编译boost-1.55.0之前,先要给boost做下修改: boost_1_55_0\boost\intrusive\detail\has_member_function_call ...
- VS2013编译python源码
系统:win10 手头有个python模块,是用C写的,想编译安装就需要让python调用C编译器.直接编译发现使用的是vc9编译,不支持C99标准(两个槽点:为啥VS2008都还不支持C99?手头这 ...
- net-snmp源码VS2013编译添加加密支持(OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
- 用vs2013编译lua源码方法(一)
用vs2013编译lua源码方法 来源:网络 编辑:admin 1.下载lua源码:lua-5.2.3.tar.gz,解压 2.用vs2013建立一个win32工程: 1)下载后解压到一个目录下 ...
- net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
- cocos2d-x项目与vs2013编译
cocos2d-x项目与vs2013编译 2014-12-17 cheungmine 因为C++11引入了众多开源软件的特性,导致cocos2d-x r3.3项目无法用 vs2010编译. 所以安装了 ...
- 解答VS2013编译报错不准确是什么原因
1.当程序在错误时,VS2013编译报出的错误有时不会一起全部报出,而是按错误的英文首字母逐个报出的 2.如果报错的信息双击点过去查看时又发现无明显错误问题时,这个这个时候可以是VS编译的缓存问题,这 ...
- Dlib简介及在windows7 vs2013编译过程
Dlib是一个C++库,包含了许多机器学习算法.它是跨平台的,可以应用在Windows.Linux.Mac.embedded devices.mobile phones等.它的License是Boos ...
随机推荐
- java多线程系类:JUC原子类:04之AtomicReference原子类
概要 本章对AtomicReference引用类型的原子类进行介绍.内容包括:AtomicReference介绍和函数列表AtomicReference源码分析(基于JDK1.7.0_40)Atomi ...
- perl 调用shell脚本
perl调用shell命令 perl调用shell shell调用perl Perl执行shell命令的几种方式及其区别
- shell脚本仅列出当前目录下的文件及文件夹
#!/bin/bash function ergodic(){ ` # do # "/"$file ] # then # ergodic $"/"$file # ...
- onselectstart与onselect
这两个事件看起来很相似,事实上却非常的不同. onselectstart onselectstart几乎可以用于所有对象,其触发时间为目标对象被开始选中时(即选中动作刚开始,尚未实质性被选中).该事件 ...
- 中文乱码?不,是 HTML 实体编码!
When question comes 在 如何用 Nodejs 分析一个简单页面 一文中,我们爬取了博客园首页的 20 篇文章标题,输出部分拼接了一个字符串: var $ = cheerio.loa ...
- silverlight 4.0 的oob模式下,调用com通过wmi重启自身进程 killself
silverlight目前开发的应用,想做到系统内注销后自动重新启动下 sllauncher.exe ,实现方式是通过WMI的COM接口,获取到当前应用的执行命令行(CommandLine):并通过s ...
- Spring.Net 简单入门学习
Spring.NET IoC容器的用法. 通过简单的例子学习Spring.Net 1.先创建一个控制台程序项目. 2.添加IUserInfoDal 接口. namespace Spring.Net { ...
- 【JavaScript】[bind,call,apply] (function cal(){}());声明函数立即执行
---恢复内容开始--- 1.js 里函数调用有 4 种模式:方法调用.正常函数调用.构造器函数调用.apply/call 调用.同时,无论哪种函数调用除了你声明时定义的形参外,还会自动添加 2 个形 ...
- Androidstudio安装AVD出现no system images installed for this target解决方案
解决方案:
- 第五次团队作业——【Alpha版本】随笔汇总
031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬涛 [Alp ...