MongoDB C++ Driver Windows 编译记录
2017-02-16 19:26
429 查看
目录-记录MongoDB win10 64bit VS2010过程
安装需求
1、mongo-cxx-driver贴git地址:
https://github.com/mongodb/mongo-cxx-driver
当前最新版本的的是3.1.1。
需求的是cmke 与 VS2015。与我的环境不同,就没有选择了。
https://github.com/mongodb/mongo-cxx-driver/releases/tag/legacy-1.1.2
文档中有专门的说明,所以选择了这个。文档点我
2、boost
因为mongoDB其中使用了boost,所以这里得下载boost.话说大名鼎鼎的boost这也是第一次使用。。。 boost官网
由于上面mongodb的文档中是使用的1.55的库,为了避免问题所以这边就与其保持一致的版本。
boost可以下载源码自己编译,也可以下载已经编译完成的。我这边下载的是编译完成的,比较方便。已经编译好的下载地址点我。在sourceforge上选择适合自己的版本,这边我选择的是msvc-10.0-32与msvc-10.0-64的版本。
boost_1_55_0-msvc-10.0-32.exe
boost_1_55_0-msvc-10.0-64.exe
3、python-scons
自己常用的就是PY2.7了。没有试过3的版本。
PS:网上有说需要用32位的Python的安装scons的,我这边的是64位的python。也能安装到64位的scons,使用起来也很好。
4、cmake (高版本mongo)
在编译高版本的mongdb-cxx-driver的时候,需要这个。cmake官方有安装版。
这个只是scons的替代品。
安装开始
1、python安装就不多说了吧。官网下载对应的版本,然后PIP即可。直接使用Pip install scons。版本如下
2、boost安装
如果使用源码的安装,可能会麻烦点点。记得使用VS的命令提示符去调用bat.这边使用的是boost已经编译完成的。就不存在这些。
如下,是我下载的库。lib32-msvc-10.0就是32位使用2010编译的库。文件夹中包含各种版的lib与dll。
3、mongo-cxx-driver编译
使用命令行cd到此目录。我这里是1.1.2版本的。命令行最好使用管理员权限运行。
&path:\mongo-cxx-driver-legacy-1.1.2
我们可以使用scons -h来查看详细编译选项。文档上也有详细说明
文档点我
详细的看下文档就知道这几个编译选项了。
文档有给出详细编译选项。
scons <--64 or --32> --sharedclient --dynamic-windows --prefix=<install-path> --cpppath=<path-to-boost-headers> --libpath=<path-to-boost-libs> install The following example will build and install the C++ driver, in a PowerShell: scons --64 --sharedclient --dynamic-windows --prefix="%HOME%\mongo-client-install" --cpppath="C:\local\boost_1_55_0\include" --libpath="C:\local\boost_1_55_0\lib64-msvc-12.0" install
参数中的
dynamic-windows与sharedclient。前者是生成\MT \MD的选项,后者加上会在生成的文件加上个s,表示静态与否吧。
prefix 表示的是生成的目录。我这边没有使用。也是正常的,直接导出到了install目录。
dbg 关键字来控制是否为debug版本。
install 这个关键字,一定得需要。如果没有设置prefix,在编译完成后会生成一个install的目录,为最终导出的目录。
还有个msvc–version 对于我这样电脑上安装了多个版本VS的时候,这个就可以选择你需要的版本去对应的编译。使用方法很简单,如下加上即可。
msvc--version=10.0 #表示2010 msvc--version=12.0 #表示2013
我这边生成的目录如下。前面为install目录。后面为install/lib目录
代码示例
建个空工程。需要注意的是把Boost库的目录加进去。
&path:\boost 包含
&path:\boost\lib32-msvc-10.0 库
还有把mongo-cxx-driver生成的install目录拷贝到工程中,其目录也加入进去。不细说了。
#include <cstdlib> #include <iostream> #include <winsock2.h> //官方文档中这个没,一般VS会报的,加上即可。 #include "mongo/client/dbclient.h" // for the driver void run() { mongo::DBClientConnection c; c.connect("localhost"); } int main() { mongo::client::initialize(); try { run(); std::cout << "connected ok" << std::endl; } catch( const mongo::DBException &e ) { std::cout << "caught " << e.what() << std::endl; } getchar(); return EXIT_SUCCESS; }
打印出
4000
connected ok就完成了。其他功能可以继续看上面我帖的文档地址。
PS:其中可能会报boost库找不到xx dll的情况。设置了目录还是不行。挺奇怪。
相关文章推荐
- windows平台下安装、编译、使用mongodb C++ driver 正常运行
- mongodb c++ driver(2.53)windows编译
- MongoDB C++ 2.4.5 driver 编译安装问题
- 编译MongoDB C++ driver时启用-fPIC
- 在windows下编译mongodb cxx driver
- RedHat Linux上编译mongodb c++ driver
- mongodb C++ driver编译报错解决方案
- 编译mongodb C++驱动 windows
- Mongo-cxx-driver Windows平台编译记录
- mongodb c++ driver 2.0编译使用
- Windows Mongodb C++ Client 编译配置
- 在windows下编译mongodb c driver
- WinXP编译mongodb c++ driver
- MongoDB C++ Driver编译
- 在Windows上编译MongoDB C Driver
- Visual Studio 2010 编译 MongoDB C++ Client Driver
- mongodb c++ driver 2.0编译使用
- 在RedHat Linux上编译mongodb c++ driver
- Windows10企业版 VS2017编译 MongoDB C++ Driver3.1.1 全过程
- Compiling MongoDB C++ Driver, Boost Error (Windows)