sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kan jag bygga ett program med c++ drivrutinen för mongodb?

Hur man bygger MongoDB C++-drivrutin

Denna lösning lyckades på en maskin med följande egenskaper:

  1. Windows XP SP3 32-bitars
  2. Visual Studio Express 2010 (VC 10)

Jag använde D:\MongoDBcplusplusClient som en arbetskatalog (jag installerade alla förutsättningar där).

Process:

  • Steg 1

Ladda ner MongoDB C++-drivrutin:

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

Du kan skapa en klon med Git eller ladda ner den som en .zip-fil (jag gjorde den andra). Du kommer att få en fil som mongo-cxx-driver-legacy.zip. Extrahera den till mappen mongo-cxx-driver-legacy i din arbetskatalog.

  • Steg 2

Ladda ner Boost förbyggda binärfiler för Windows. OBS!!! Du bör använda en specifik version av Boost. I mitt fall gjorde version 1.52 susen. Du kan ladda ner den härifrån:

http://boost.teeks99.com/

Jag laddade ner boost_1_52_0-vc32-bin.exe självextraherande exe. Lägg den i din arbetskatalog och kör den. Det kommer att skapa en mapp (något liknande lib32) som kommer att innehålla boost-binärfilerna (.lib- och .dll-filer)

  • Steg 3

Ladda ner Boost-källkod (.h-filer). Naturligtvis ska dessa vara från samma version som i steg 2. Jag laddade ner dem härifrån:

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

Du får en fil boost_1_52_0.zip som du kan extrahera i mappen boost_1_52_0.

  • Steg 4

Ladda ner Python. I det här exemplet laddade jag ner version 2.7.9 och specifikt installationsprogrammet för Windows x86 MSI härifrån:

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

  • Steg 5

Ladda ner Scons härifrån:

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

Jag laddade ner Windows-installationsprogrammet (scons-2.3.4-setup.exe) och installerade Scons i Python-katalogen (i mitt fall C:\Python27).

  • Steg 6

Ladda ner msinttypes härifrån:

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

(Du bör inkludera dessa rubrikfiler till projektet som använder drivrutinen)

  • Steg 7

Gå till Start->Kör... och skriv cmd i rutan Kör. I det öppnade kommandotolksfönstret navigerar du till mappen där du extraherade mongo-drivrutinen i steg 1. I mitt fall gjorde jag:cd D:\ D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy

  • Steg 8

Bygg drivrutinen med Scons. Skriv:

i katalogen du navigerade i steg 7

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 installation

och tryck på Retur.

--prefixet flaggan anger målkatalogen där .lib-filen för drivrutinen ska skapas, --cpppath anger mappen där Boost-huvudfilerna finns och --libpath sökvägen till Boost .lib-filer. Självklart ska du ändra vägen till din. En fil med namnet libmongoclient-s.lib kommer att skapas på --prefix/lib sökvägen .Om du vill bygga drivrutinen med felsökning aktiverad bör du använda följande kommando:

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=vid installation

En fil med namnet libmongoclient-sgd.lib kommer att skapas vid --prefix/lib sökväg.

  • Steg 9

I Windows Explorer, navigera till mappen där MongoDB C++-drivrutinen är installerad, gå in i undermappen lib (i mitt fall var detta D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy\lib) och byt namn på filen libmongoclient-s.lib till mongoclient.lib och libmongoclient-sgd.lib till mongoclient-gd.lib .

  • Steg 10

Öppna Visual Studio 2010 Express och öppna projektet där du vill använda MongoDB C++-drivrutinen. Du bör ange beroenden. Högerklicka på projektets namn i lösningsutforskaren (vänster kolumn) och tryck på Egenskaper. Gå till C/C++ → Allmänt och på Ytterligare inkludera kataloger lägg till:

a) Boost header-filkatalog (i mitt fall D:\MongoDBcplusplusClient\boost_1_52_0\boost_1_52_0)

b) MongoDB C++ drivrutinshuvudfilkatalog (i mitt fall D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driverlegacy\include)

c) Cstdint skriver rubrikfilskatalog (i mitt fall:\MongoDBcplusplusClient\msinttypes-r26)

  • Steg 11

Gå till Linker → Allmänt och på Ytterligare bibliotekskataloger lägg till:

a) Boost .lib-filkatalogen (i mitt fall D:\MongoDBcplusplusClient\lib32)

b) MongoDB C++ drivrutin .lib filer katalog (i mitt fall D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy\lib)

Efter dessa steg kommer projektet som använder drivrutinen att byggas framgångsrikt både i release- och felsökningskonfigurationer.



  1. Ändra inställning av TTL på hSet Keys

  2. exkludera fält i $lookup-aggregation

  3. MongoDB kapslad uppslagning med 3 nivåer

  4. Hur skalar man Node.js WebSocket Redis Server?