MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso creare un programma usando il driver c++ di mongodb?

Come creare il driver C++ MongoDB

Questa soluzione è riuscita su una macchina con le seguenti caratteristiche:

  1. Windows XP SP3 a 32 bit
  2. Visual Studio Express 2010 (VC 10)

Ho usato D:\MongoDBcplusplusClient come directory di lavoro (ho installato lì tutti i prerequisiti).

Processo:

  • Passaggio 1

Scarica il driver MongoDB C++:

https://github.com/mongodb/mongo-cxx-driver

Puoi creare un clone usando Git o scaricarlo come file .zip (ho fatto il secondo). Otterrai un file come mongo-cxx-driver-legacy.zip. Estrailo nella cartella mongo-cxx-driver-legacy all'interno della tua directory di lavoro.

  • Passaggio 2

Scarica i binari precompilati di Windows Boost. ATTENZIONE!!! Dovresti usare una versione specifica di Boost. Nel mio caso la versione 1.52 ha funzionato. Puoi scaricarlo da qui:

http://boost.teeks99.com/

Ho scaricato l'exe autoestraente boost_1_52_0-vc32-bin.exe. Mettilo nella tua directory di lavoro ed eseguilo. Creerà una cartella (qualcosa come lib32) che conterrà i file binari boost (file .lib e .dll)

  • Passaggio 3

Scarica il codice sorgente Boost (file .h). Ovviamente questi dovrebbero essere della stessa versione del passaggio 2. Li ho scaricati da qui:

http://sourceforge.net/projects/boost/files/boost/1.52.0/

Otterrai un file boost_1_52_0.zip che puoi estrarre nella cartella boost_1_52_0.

  • Passaggio 4

Scarica Python. In questo esempio ho scaricato la versione 2.7.9 e in particolare il programma di installazione MSI di Windows x86 da qui:

https://www.python.org/downloads/release/python-279/

  • Passaggio 5

Scarica Scons da qui:

http://www.scons.org/download.php

Ho scaricato il programma di installazione di Windows (scons-2.3.4-setup.exe) e ho installato Scons nella directory Python (nel mio caso C:\Python27).

  • Passaggio 6

Scarica msinttypes da qui:

https://code.google.com/p/msinttypes/

(Dovresti includere questi file di intestazione nel progetto che utilizza il driver)

  • Passaggio 7

Vai su Start->Esegui... e nella casella Esegui scrivi cmd. Nella finestra del prompt dei comandi aperta, vai alla cartella in cui hai estratto il driver mongo al passaggio 1. Nel mio caso l'ho fatto:cd D:\ D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy

  • Passaggio 8

Costruisci il driver usando Scons. Nella directory che hai navigato al passaggio 7 scrivi:

scons

--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 installazione

e premi Invio.

Il --prefisso flag specifica la directory di destinazione in cui verrà creato il file .lib del driver, --cpppath specifica la cartella in cui si trovano i file di intestazione Boost e il --libpath il percorso dei file Boost .lib. Ovviamente dovresti cambiare il percorso al tuo. Un file denominato libmongoclient-s.lib verrà creato nel --prefix/lib percorso .Se vuoi creare il driver con il debug abilitato dovresti usare il seguente comando:

scons

--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=all'installazione

Un file denominato libmongoclient-sgd.lib verrà creato in --prefix/lib percorso.

  • Passaggio 9

In Esplora risorse, vai alla cartella in cui è installato il driver MongoDB C++, vai nella sottocartella lib (nel mio caso era D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy\lib) e rinomina il file libmongoclient-s.lib su mongoclient.lib e libmongoclient-sgd.lib a mongoclient-gd.lib .

  • Passaggio 10

Apri Visual Studio 2010 Express e apri il progetto in cui vuoi usare il driver MongoDB C++. Dovresti specificare le dipendenze. Fai clic con il pulsante destro del mouse sul nome del progetto in Esplora soluzioni (colonna a sinistra) e premi Proprietà. Vai a C/C++ → Generale e in Directory di inclusione aggiuntive aggiungi:

a) Aumenta la directory dei file di intestazione (nel mio caso D:\MongoDBcplusplusClient\boost_1_52_0\boost_1_52_0)

b) Directory dei file di intestazione del driver C++ di MongoDB (nel mio caso D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driverlegacy\include)

c) Directory dei file di intestazione dei tipi Cstdint (nel mio caso:\MongoDBcplusplusClient\msinttypes-r26 )

  • Passaggio 11

Vai su Linker → Generale e in Directory aggiuntive della libreria aggiungi:

a) Aumenta la directory dei file .lib (nel mio caso D:\MongoDBcplusplusClient\lib32)

b) Directory dei file .lib del driver MongoDB C++ (nel mio caso D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy\lib)

Dopo questi passaggi il progetto che utilizza il driver verrà compilato correttamente sia nelle configurazioni di rilascio che di debug.