MongoDBC++ドライバーを構築する方法
このソリューションは、次の特性を備えたマシンで成功しました。
- Windows XPSP332ビット
- Visual Studio Express 2010(VC 10)
D:\ MongoDBcplusplusClientを作業ディレクトリとして使用しました(すべての前提条件をそこにインストールしました)。
プロセス:
- ステップ1
MongoDB C ++ドライバーをダウンロードします:
https://github.com/mongodb/mongo-cxx-driver
Gitを使用してクローンを作成するか、.zipファイルとしてダウンロードできます(2番目のファイルを作成しました)。mongo-cxx-driver-legacy.zipのようなファイルが作成されます。作業ディレクトリ内のmongo-cxx-driver-legacyフォルダに解凍します。
- ステップ2
Boostのビルド済みWindowsバイナリをダウンロードします。 注意!!! Boostの特定のバージョンを使用する必要があります。私の場合、バージョン1.52でうまくいきました。こちらからダウンロードできます:
http://boost.teeks99.com/
boost_1_52_0-vc32-bin.exe自己解凍型exeをダウンロードしました。それを作業ディレクトリに置き、実行します。ブーストバイナリ(.libおよび.dllファイル)を含むフォルダ(lib32など)が作成されます
- ステップ3
Boostソースコード(.hファイル)をダウンロードします。もちろん、これらはステップ2と同じバージョンのものである必要があります。ここからダウンロードしました:
http://sourceforge.net/projects/boost/files/boost/1.52.0/
boost_1_52_0フォルダーで抽出できるファイルboost_1_52_0.zipを取得します。
- ステップ4
Pythonをダウンロードします。この例では、バージョン2.7.9、具体的にはWindowsx86MSIインストーラーをここからダウンロードしました。
https://www.python.org/downloads/release/python-279/
- ステップ5
ここからSconsをダウンロードします:
http://www.scons.org/download.php
Windowsインストーラー(scons-2.3.4-setup.exe)をダウンロードし、Pythonディレクトリ(私の場合はC:\ Python27)にSconsをインストールしました。
- ステップ6
ここからmsinttypesをダウンロードします:
https://code.google.com/p/msinttypes/
(これらのヘッダーファイルは、ドライバーを使用するプロジェクトにインクルードする必要があります)
- ステップ7
[スタート]->[ファイル名を指定して実行...]に移動し、[ファイル名を指定して実行]ボックスにcmdと入力します。開いたコマンドプロンプトウィンドウで、手順1でmongoドライバーを抽出したフォルダーに移動します。私の場合は次のようにしました。cdD:\ D:\ MongoDBcplusplusClient \ mongo-cxx-driver-legacy \ mongo-cxx-driver-legacy
- ステップ8
Sconsを使用してドライバーをビルドします。手順7でナビゲートしたディレクトリに次のように書き込みます。
短所
-prefix =D:\ MongoDBcplusplusClient \ mongo-cxx-driver-legacy \ mongo-cxx-driver-legacy
-cpppath =D:\ MongoDBcplusplusClient \ boost_1_52_0 \ boost_1_52_0
-libpath =D:\ MongoDBcplusplusClient \ lib32
-win-version-min=xpsp3インストール
Enterキーを押します。
-プレフィックス flagは、ドライバの.libファイルが作成されるターゲットディレクトリを指定します。-cpppath Boostヘッダーファイルが配置されているフォルダーと-libpathを指定します Boost.libファイルへのパス。もちろん、あなたはあなたへの道を変えるべきです。 libmongoclient-s.libという名前のファイル -prefix/libパスに作成されます 。デバッグを有効にしてドライバーをビルドする場合は、次のコマンドを使用する必要があります。
短所
-prefix =D:\ MongoDBcplusplusClient \ mongo-cxx-driver-legacy \ mongo-cxx-driver-legacy
-cpppath =D:\ MongoDBcplusplusClient \ boost_1_52_0 \ boost_1_52_0
-libpath =D:\ MongoDBcplusplusClient \ lib32
-win-version-min =xpsp3
-dbg=インストール時
libmongoclient-sgd.libという名前のファイル -prefix / libで作成されます パス。
- ステップ9
Windowsエクスプローラーで、MongoDB C ++ドライバーがインストールされているフォルダーに移動し、サブフォルダーlib(私の場合はD:\ MongoDBcplusplusClient \ mongo-cxx-driver-legacy \ mongo-cxx-driver-legacy \ lib)に移動します。ファイルの名前をlibmongoclient-s.libに変更します mongoclient.libへ およびlibmongoclient-sgd.lib mongoclient-gd.libへ 。
- ステップ10
Visual Studio 2010 Expressを開き、MongoDBC++ドライバーを使用するプロジェクトを開きます。依存関係を指定する必要があります。ソリューションエクスプローラー(左側の列)でプロジェクトの名前を右クリックし、[プロパティ]をクリックします。[C / C ++]→[一般]に移動し、[追加のインクルードディレクトリ]で次を追加します:
a) Boostヘッダーファイルディレクトリ(私の場合はD:\ MongoDBcplusplusClient \ boost_1_52_0 \ boost_1_52_0)
b) MongoDB C ++ドライバーヘッダーファイルディレクトリ(私の場合はD:\ MongoDBcplusplusClient \ mongo-cxx-driver-legacy \ mongo-cxx-driverlegacy \ include)
c) Cstdintタイプのヘッダーファイルディレクトリ(私の場合:\ MongoDBcplusplusClient \ msinttypes-r26)
- ステップ11
リンカー→一般に移動し、追加のライブラリディレクトリに追加します:
a) Boost .libファイルディレクトリ(私の場合はD:\ MongoDBcplusplusClient \ lib32)
b) MongoDB C ++ドライバーの.libファイルディレクトリ(私の場合はD:\ MongoDBcplusplusClient \ mongo-cxx-driver-legacy \ mongo-cxx-driver-legacy \ lib)
これらの手順の後、ドライバーを使用するプロジェクトは、リリース構成とデバッグ構成の両方で正常にビルドされます。