所用CentOS linux版本为7.3.1611,此linux版本的gcc版本为4.8.5支持c++11,故无需升级gcc
安装方法见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源码报错会提示找不到文件路径
$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
配置之前需要先升级cmake到3.2以后的版本,具体方法详见http://blog.csdn.net/qq_35001989/article/details/76618795
安装完cmake之后再终端打下如下图的命令
$ sudo make EP_mnmlstc_core
$ make && sudo make install
编辑以下源码保存为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
正确安装验证会显示如下