MacOSでMongoDB C++Driverを設定
2896 ワード
注意:私の構成プロセスは『Installing the mongocxx driver』の公式ドキュメントを参照して完成し、私の本機の構成プロセスを記録し、プロセス中に漏れがある可能性があるので、完全な構成プロセスは、公式構成ドキュメントを参照して行うことをお勧めします.
1 MongoDB C Driverのインストール
mongocxxドライバはMongoDB Cのドライバに依存するため、まずMongoDB C Driverをインストールする必要があります.対3.1.xバージョンのmongocxxは1.5インストールする必要があります.0以上のlibmongoc は3.0である.xバージョンのmongocxxは最新の1.4を推奨する.xバージョンlibmongoc インストール手順は次のとおりです. XCodeコマンドラインツール をインストール Homebrewインストールコンパイル構成ツール を使用ダウンロード解凍libmongocソース コンパイルインストール 2 mongocxx driverのダウンロード
公式ドキュメントにはgithubからcloneソースコードをダウンロードする方法とreleaseページからダウンロードする方法の2つがあります.
githubからcloneの最新の安定版ソースコードを採用しています.
3 cmake構成
デフォルトでは、最初のステップのlibmongocライブラリは
さらに、cmakeの構成は、異なるシステムに対して
次のように構成されています.
4コンパイルインストール
Windows以外のプラットフォームでは、デフォルトのMNMLSTC polyfillを使用して、MNMLSTCのコアコンポーネントを追加コンパイルしてインストールする必要があります.
その後mongocxx driverをコンパイルしてインストールすればいいです.
これでドライバ全体のインストールが完了し、使用時に対応するコンパイルオプションを追加すればよい.
5テスト
公式提供テストコード:
pkg-configを使用してコンパイル:
エラーが報告されていない場合は、テストに成功します.具体的なデータベース操作は、公式mongo apiを参照してください.
注意:Homebrewインストールツールを使用すると、権限またはsudoモードを使用できないという問題が発生する可能性があります.解決策は、コマンドラインで実行される
1 MongoDB C Driverのインストール
mongocxxドライバはMongoDB Cのドライバに依存するため、まずMongoDB C Driverをインストールする必要があります.
$ xcode-select --install
$ brew install automake autoconf libtool pkgconfig
$ tar xzf mongo-c-driver-1.6.2.tar.gz
$ cd mongo-c-driver-1.6.2
$ ./configure
$ make
$ sudo make install
公式ドキュメントにはgithubからcloneソースコードをダウンロードする方法とreleaseページからダウンロードする方法の2つがあります.
githubからcloneの最新の安定版ソースコードを採用しています.
git clone https://github.com/mongodb/mongo-cxx-driver.git \
--branch releases/stable --depth 1
3 cmake構成
デフォルトでは、最初のステップのlibmongocライブラリは
/usr/local
にインストールされます.libmongocがデフォルトパスにインストールされていない場合は、cmake構成にはPKG_CONFIG_PATH
とDCMAKE_INSTALL_PREFIX
の構成が必要です.さらに、cmakeの構成は、異なるシステムに対して
polyfill
を選択する必要があります.例えば、私のシステムはMacOSであり、構成のオプションは-DBSONCXX_POLY_USE_MNMLSTC=1
を選択します.次のように構成されています.
cmake -DCMAKE_BUILD_TYPE=Release -DBSONCXX_POLY_USE_MNMLSTC=1 \
-DCMAKE_INSTALL_PREFIX=/usr/local ..
4コンパイルインストール
Windows以外のプラットフォームでは、デフォルトのMNMLSTC polyfillを使用して、MNMLSTCのコアコンポーネントを追加コンパイルしてインストールする必要があります.
sudo make EP_mnmlstc_core
その後mongocxx driverをコンパイルしてインストールすればいいです.
make && sudo make install
これでドライバ全体のインストールが完了し、使用時に対応するコンパイルオプションを追加すればよい.
5テスト
公式提供テストコード:
#include
#include
#include
#include
#include
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;
}
}
pkg-configを使用してコンパイル:
c++ --std=c++11 test.cpp -o test $(pkg-config --cflags --libs libmongocxx)
エラーが報告されていない場合は、テストに成功します.具体的なデータベース操作は、公式mongo apiを参照してください.
注意:Homebrewインストールツールを使用すると、権限またはsudoモードを使用できないという問題が発生する可能性があります.解決策は、コマンドラインで実行される
sudo chown -R $(whoami) /usr/local
コマンドで解決できます.