CentOS7のMongoDBをC++から利用できるようにする

パッケージのインストール

yum -y install boost boost-devel git-core gcc-c++ glibc-devel


sconsのインストール

sconsをソースコードからインストールする

wget http://prdownloads.sourceforge.net/scons/scons-2.3.5.tar.gz
tar zxf scons-2.3.5.tar.gz
cd scons-2.3.5
python setup.py install


MongoDB C++ドライバーのインストール

MongoDB C++ドライバーのダウンロードと解凍

wget https://github.com/mongodb/mongo-cxx-driver/archive/legacy.zip
unzip legacy.zip
cd mongo-cxx-driver-legacy

ビルド

sudo scons

インストール

scons --prefix=/usr/local install


確認

tutorial.cpp を下記の内容で作成する

#include <cstdlib>
#include <iostream>
#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;
    }
    return EXIT_SUCCESS;
}

ビルド

g++ tutorial.cpp -pthread -lmongoclient -lboost_thread -lboost_filesystem -lboost_regex -lboost_program_options -o tutorial

実行

./tutorial

結果

connected ok


参考

下記のWebページを参考にしました。

Tutorial · mongodb/mongo-cxx-driver Wiki · GitHub