版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hp_cpp/article/details/82386080
编译准备工作:
(1)mongo-c-driver下载地址:
https://github.com/mongodb/mongo-c-driver/releases
下载最新版:mongo-c-driver 1.12.0的Souce code版
(2)mongodb/mongo-cxx-driver下载地址:
https://github.com/mongodb/mongo-cxx-driver/releases
(3)boost库下载地址:
https://sourceforge.net/projects/boost/files/
进入boost-binaries版本
https://sourceforge.net/projects/boost/files/boost-binaries/1.68.0/
选择boost_1_68_0-msvc-14.0-64.exe
(4)安装cmake(已经安装的高版本,可以跳过这个步骤)
官方要求CMake 3.2及以上版本。
下载地址:https://cmake.org/download/
选择windows平台上的cmake安装程序,自行安装,选择最新版的就可以。
如果是编译C语言版本的mongo driver只需要编译(1)就可以了。
确保本机已经安装了VS2015 最好是update3及以上版本(update2版本的也可以编译)
mongo-cxx-driver和mongo-c-driver对应关系(个人体会,两个都用最新版本即可)
以下是官方给的对应关系:
•For mongocxx-3.3.x, libmongoc 1.10.1 or later is required.
•For mongocxx-3.2.x, libmongoc 1.9.2 or later is required.
•For mongocxx-3.1.[0-3], libmongoc 1.5.0 or later is required.
•For mongocxx-3.1.4+, libmongoc 1.7.0 or later is required.
•For mongocxx-3.0.x, we recommend the last 1.4.x version of libmongoc
开始编译:
(1)编译mongo-c-driver,官网教程:http://mongoc.org/libmongoc/current/installing.html
此库不需要依赖其他库,但需要安装cmake3.2及以上版本。
将下载的mongo-c-driver源码包解压,解压目录为D:\mongo-c-driver-1.12.0
cd D:\mongo-c-driver-1.12.0
mkdir cmake-build && cd cmake-build
D:\mongo-c-driver-1.12.0\cmake-build>cmake -G “Visual Studio 14 2015 Win64” “-DCMAKE_INSTALL_PREFIX=D:\mongo-c-driver-1.12.0” “-DCMAKE_PREFIX_PATH=D:\mongo-c-driver-1.12.0” ..
D:\mongo-c-driver-1.12.0\cmake-build>cmake -G "Visual Studio 14 2015 Win64" "-DCMAKE_INSTALL_PREFIX=D:\mongo-c-driver-1.12.0" "-DCMAKE_PREFIX_PATH=D:\mongo-c-driver-1.12.0" ..
注意最后有空格,还有两个圆点。表示在上级目录寻找cmakelist,这里生成是的64位版本的库。
说明:
-DCMAKE_INSTALL_PREFIX和-DCMAKE_PREFIX_PATH都是指向源码解压后的目录(D:\mongo-c-driver-1.12.0)
在D:\mongo-c-driver-1.12.0\cmake-build目录下,就会看到生成的vs工程,用vs2015打开,找到INSTALL这个项目,进行编译。
需要注意的是,mongo-c-driver和mongo-cxx-driver的库要对应,debug版本和debug版本对应,release版本和release版本对应。编译完成后,D:\mongo-c-driver-1.12.0目录下会多出bin、include和lib目录,这些就是dll,头文件和lib文件,到此mongo-c-driver编译完成。
(2)安装boost库,下载的是exe解压包,设置目录后,就可以直接解压,不需要编译。
(3)编译mongo-cxx-driver库,下载源码,地址在https://github.com/mongodb/mongo-cxx-driver/releases,解压到D:\mongo-cxx-driver-r3.3.1
cd D:\mongo-cxx-driver-r3.3.1
mkdir cmake-build && cd cmake-build
D:\mongo-cxx-driver-r3.3.1\cmake-build>cmake -G “Visual Studio 14 Win64” “-DCMAKE_INSTALL_PREFIX=D:\mongo-cxx-driver-r3.3.1” “-DCMAKE_PREFIX_PATH=D:\mongo-c-driver-1.12.0” “-DBOOST_ROOT=D:\boost_1_68_0” ..
D:\mongo-cxx-driver-r3.3.1\cmake-build>cmake -G "Visual Studio 14 Win64" "-DCMAKE_INSTALL_PREFIX=D:\mongo-cxx-driver-r3.3.1" "-DCMAKE_PREFIX_PATH=D:\mongo-c-driver-1.12.0" "-DBOOST_ROOT=D:\boost_1_68_0" ..
-DCMAKE_INSTALL_PREFIX为mongo-cxx-driver源码解压后的路径
-DCMAKE_PREFIX_PATH为mongo-c-driver源码解压后的路径
注意命令行的最后有个空格和两个英文的圆点
在D:\mongo-cxx-driver-r3.3.1\cmake-build目录会生成vs工程,找到INSTALL工程后进行编译,同样会生成bin、include和lib目录。到此编译完成。
使用的时候,需要将mongo-cxx-driver生成的include目录和mongo-cxx-driver生成的include目录,以及boost库目录都添加进去,链接上述生成的lib文件,并且把生成的dll放到可执行文件一起就可以了。到此windows平台下C++版本的mongo driver编译完成。