概要
MongoDBのC言語ドライバのビルド方法です。
日本語の情報が少なかったのでまとめておきます。
前提条件
- Visual Studio 2010 以降がインストールされている環境 (または Visual Studio 2015 Express)
ビルド方法
MongoDBのC言語ドライバはバイナリが配布されていないためソースからのビルドが必要となります。
1. CMakeのインストール
CMake へアクセスしてdownloadのページから Windows win64-x64 Installer をダウンロードします。
ダウンロード後、msiパッケージを実行してインストールします。
2. mongo-c-driverのダウンロード
mongo-c-driver へアクセスしてソースをダウンロードします。
3. CMake によるビルド
コマンドプロンプトを起動後、ソースのルートディレクトリへ移動して以下のコマンドを実行します。
set PATH="C:\Program Files\CMake\bin";%PATH%
mkdir cmake-build
cd cmake-build
cmake -G "Visual Studio 14 2015 Win64" "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver" "-DCMAKE_PREFIX_PATH=C:\mongo-c-driver" ..
4. MSBuild によるビルド
引き続き以下のコマンドを実行します。
set PATH="C:\Program Files (x86)\MSBuild\14.0\Bin";%PATH%
msbuild.exe /p:Configuration=Release ALL_BUILD.vcxproj
msbuild.exe /p:Configuration=Release INSTALL.vcxproj
警告が大量に表示されますが、ビルドに成功すると C:\mongo-c-driver に以下のバイナリが生成されます。
- DLLファイル
- インクルードヘッダファイル
- ライブラリファイル
ビルド構成について
上記の手順ではリリース構成でビルドを行っていますが、 /p:Configuration= で指定する値を以下の値に変更することで異なるビルド構成でビルドすることも可能です。
値 | 説明 |
---|---|
Debug | デバッグ構成でビルド |
Release | リリース構成でビルド |
MinSizeRel | 最小サイズ構成でビルド |
RelWithDebInfo | デバッグ情報付きリリース構成でビルド |
※ /p:Configuration= を指定せずにビルドした場合、デバッグ構成としてビルドされます。実行環境に ucrtbased.dll 1 が存在していないとリンクしたプログラムの実行時に以下のエラーが表示されるため注意が必要です。
-
Cランタイムライブラリ のデバッグ版です。VisualStudioの再頒布パッケージではインストールされません。 ↩