Cara membangun driver MongoDB C++
Solusi ini berhasil pada mesin dengan karakteristik berikut:
- Windows XP SP3 32-bit
- Visual Studio Express 2010 (VC 10)
Saya menggunakan D:\MongoDBcplusplusClient sebagai direktori kerja (saya menginstal semua prasyarat di sana).
Proses:
- Langkah 1
Unduh driver MongoDB C++:
https://github.com/mongodb/mongo-cxx-driver
Anda dapat membuat klon menggunakan Git atau mengunduhnya sebagai file .zip (saya melakukan yang kedua). Anda akan mendapatkan file seperti mongo-cxx-driver-legacy.zip. Ekstrak ke folder mongo-cxx-driver-legacy di dalam direktori kerja Anda.
- Langkah 2
Unduh Boost binari windows bawaan. PERHATIAN!!! Anda harus menggunakan versi Boost tertentu. Dalam kasus saya, versi 1.52 berhasil. Anda dapat mengunduhnya dari sini:
http://boost.teeks99.com/
Saya mengunduh exe self-extracting boost_1_52_0-vc32-bin.exe. Letakkan di direktori kerja Anda dan jalankan. Ini akan membuat folder (seperti lib32) yang akan berisi binari boost (file .lib dan .dll)
- Langkah 3
Unduh kode sumber Boost (file .h). Tentu saja ini harus dari versi yang sama seperti pada Langkah 2. Saya mengunduhnya dari sini:
http://sourceforge.net/projects/boost/files/boost/1.52.0/
Anda akan mendapatkan file boost_1_52_0.zip yang dapat Anda ekstrak di folder boost_1_52_0.
- Langkah 4
Unduh Python. Dalam contoh ini saya mengunduh versi 2.7.9 dan khususnya penginstal Windows x86 MSI dari sini:
https://www.python.org/downloads/release/python-279/
- Langkah 5
Unduh Scons dari sini:
http://www.scons.org/download.php
Saya mengunduh penginstal Windows (scons-2.3.4-setup.exe) dan menginstal Scons di direktori Python (dalam kasus saya C:\Python27).
- Langkah 6
Unduh msinttypes dari sini:
https://code.google.com/p/msinttypes/
(Anda harus menyertakan file header ini ke proyek yang menggunakan driver)
- Langkah 7
Pergi ke Start->Run… dan di kotak Run tulis cmd. Di jendela prompt perintah yang terbuka, navigasikan ke folder tempat Anda mengekstrak driver mongo pada Langkah 1. Dalam kasus saya, saya melakukannya:cd D:\ D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy
- Langkah 8
Bangun driver menggunakan Scons. Di direktori yang Anda navigasikan pada Langkah 7, tulis:
konsens
--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 instal
dan tekan Enter.
--awalan flag menentukan direktori target tempat file .lib driver akan dibuat, --cpppath menentukan folder tempat file header Boost berada dan --libpath jalur ke file Boost .lib. Tentu saja Anda harus mengubah jalur ke jalur Anda. File bernama libmongoclient-s.lib akan dibuat di --prefix/lib path .Jika Anda ingin membangun driver dengan debugging diaktifkan, Anda harus menggunakan perintah berikut:
konsens
--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=saat pemasangan
File bernama libmongoclient-sgd.lib akan dibuat di --prefix/lib jalan.
- Langkah 9
Di Windows Explorer, navigasikan ke folder tempat driver MongoDB C++ diinstal, masuk ke lib subfolder (dalam kasus saya ini adalah D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy\lib) dan ganti nama file libmongoclient-s.lib ke mongoclient.lib dan libmongoclient-sgd.lib ke mongoclient-gd.lib .
- Langkah 10
Buka Visual Studio 2010 Express dan buka proyek di mana Anda ingin menggunakan driver MongoDB C++. Anda harus menentukan dependensi. Klik kanan pada nama proyek di solution explorer (kolom kiri) dan tekan Properties. Buka C/C++ → Umum dan di Direktori Sertakan Tambahan tambahkan:
a) Tingkatkan direktori file header (dalam kasus saya D:\MongoDBcplusplusClient\boost_1_52_0\boost_1_52_0)
b) Direktori file header driver MongoDB C++ (dalam kasus sayaD:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driverlegacy\include)
c) Cstdint mengetikkan direktori file header (dalam kasus saya:\MongoDBcplusplusClient\msinttypes-r26 )
- Langkah 11
Buka Linker → Umum dan di Direktori Perpustakaan Tambahan tambahkan:
a) Tingkatkan direktori file .lib (dalam kasus saya D:\MongoDBcplusplusClient\lib32)
b) Direktori file .lib driver MongoDB C++ (dalam kasus saya D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy\lib)
Setelah langkah-langkah ini, proyek yang menggunakan driver akan berhasil dibangun baik dalam konfigurasi rilis maupun debug.