步骤1:安装之前先查看一下我所用linux内核版本和linux系统版本
所用CentOS linux版本为7.3.1611,此linux版本的gcc版本为4.8.5支持c++11,故无需升级gcc
步骤2:安装mongoc驱动
安装方法见http://blog.csdn.net/qq_35001989/article/details/76652949
注意:将mongoc的.h文件路径
/usr/local/include/libbson-1.0
/usr/local/include/libmongoc-1.0
添加到CPATH环境变量并使其生效
环境变量的设置方法见:http://blog.csdn.net/qq_35001989/article/details/52760648
如果不设置环境变量,后面编译mongocxx源码报错会提示找不到文件路径
步骤3:下载mongocxx驱动程序
$curl -OL https://github.com/mongodb/mongo-cxx-driver/archive/r3.1.2.tar.gz
$tar -xzf r3.1.2.tar.gz
$cd mongo-cxx-driver-r3.1.2/build
步骤4:配置mongocxx驱动
配置之前需要先升级cmake到3.2以后的版本,具体方法详见http://blog.csdn.net/qq_35001989/article/details/76618795
安装完cmake之后再终端打下如下图的命令
步骤5:编译mongocxx并安装
$ sudo make EP_mnmlstc_core
$ make && sudo make install
步骤6:测试安装
编辑以下源码保存为test.cpp
#include <iostream>
#include <bsoncxx/builder/stream/document.hpp>
#include <bsoncxx/json.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>
int main(int, char**) {
mongocxx::instance inst{};
mongocxx::client conn{mongocxx::uri{}};
bsoncxx::builder::stream::document document{};
auto collection = conn["testdb"]["testcollection"];
document << "hello" << "world";
collection.insert_one(document.view());
auto cursor = collection.find({});
for (auto&& doc : cursor) {
std::cout << bsoncxx::to_json(doc) << std::endl;
}
}
将mongocxx的头文件目录添加到CPATH环境变量,我这里的mongocxx头文件目录为:
/usr/local/mongo-cxx-driver-r3.1.1/include/bsoncxx/v_noabi和/usr/local/mongo-cxx-driver-r3.1.1/include/mongocxx/v_noabi
$g++ --std=c++11 test.cpp -o test -L /usr/local/mongo-cxx-driver-r3.1.1/lib -lmongocxx -lbsoncxx
在运行之前必须先启动MongoDB服务。如图
$./test
正确安装验证会显示如下