sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo puedo construir un programa usando el controlador c ++ de mongodb?

Cómo compilar el controlador MongoDB C++

Esta solución tuvo éxito en una máquina con las siguientes características:

  1. Windows XP SP3 de 32 bits
  2. Visual Studio Express 2010 (VC 10)

Usé D:\MongoDBcplusplusClient como directorio de trabajo (instalé allí todos los requisitos previos).

Proceso:

  • Paso 1

Descargue el controlador MongoDB C++:

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

Puede hacer un clon usando Git o descargarlo como un archivo .zip (hice el segundo). Obtendrá un archivo como mongo-cxx-driver-legacy.zip. Extráigalo a la carpeta mongo-cxx-driver-legacy dentro de su directorio de trabajo.

  • Paso 2

Descargue los binarios de Windows precompilados de Boost. ATENCIÓN!!! Debe usar una versión específica de Boost. En mi caso, la versión 1.52 funcionó. Puedes descargarlo desde aquí:

http://boost.teeks99.com/

Descargué el exe autoextraíble boost_1_52_0-vc32-bin.exe. Póngalo en su directorio de trabajo y ejecútelo. Creará una carpeta (algo así como lib32) que contendrá los archivos binarios de impulso (archivos .lib y .dll)

  • Paso 3

Descargue el código fuente de Boost (archivos .h). Por supuesto, estos deben ser de la misma versión que en el Paso 2. Los descargué de aquí:

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

Obtendrá un archivo boost_1_52_0.zip que puede extraer en la carpeta boost_1_52_0.

  • Paso 4

Descargar Phyton. En este ejemplo, descargué la versión 2.7.9 y específicamente el instalador MSI de Windows x86 desde aquí:

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

  • Paso 5

Descarga Scons desde aquí:

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

Descargué el instalador de Windows (scons-2.3.4-setup.exe) e instalé Scons en el directorio de Python (en mi caso, C:\Python27).

  • Paso 6

Descargue msinttypes desde aquí:

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

(Debe incluir estos archivos de encabezado en el proyecto que usa el controlador)

  • Paso 7

Vaya a Inicio->Ejecutar… y en el cuadro Ejecutar escriba cmd. En la ventana del símbolo del sistema abierta, navegue hasta la carpeta en la que extrajo el controlador mongo en el Paso 1. En mi caso, lo hice:cd D:\ D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy

  • Paso 8

Cree el controlador usando Scons. En el directorio que navegó en el Paso 7, escriba:

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=instalación xpsp3

y pulsa Intro.

El --prefijo marca especifica el directorio de destino en el que se creará el archivo .lib del controlador, --cpppath especifica la carpeta en la que se encuentran los archivos de encabezado de Boost y el --libpath la ruta a los archivos .lib de Boost. Por supuesto que deberías cambiar el camino al tuyo. Un archivo llamado libmongoclient-s.lib se creará en la ruta --prefix/lib .Si desea compilar el controlador con la depuración habilitada, debe usar el siguiente 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=al instalar

Un archivo llamado libmongoclient-sgd.lib se creará en --prefix/lib camino.

  • Paso 9

En el Explorador de Windows, vaya a la carpeta en la que está instalado el controlador MongoDB C++, vaya a la subcarpeta lib (en mi caso, era D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy\lib) y cambie el nombre del archivo libmongoclient-s.lib a mongoclient.lib y el libmongoclient-sgd.lib a mongoclient-gd.lib .

  • Paso 10

Abra Visual Studio 2010 Express y abra el proyecto en el que desea utilizar el controlador MongoDB C++. Debe especificar las dependencias. Haga clic derecho en el nombre del proyecto en el explorador de soluciones (columna izquierda) y presione Propiedades. Vaya a C/C++ → General y en Directorios de inclusión adicionales agregue:

a) Boost directorio de archivos de encabezado (en mi caso D:\MongoDBcplusplusClient\boost_1_52_0\boost_1_52_0)

b) Directorio de archivos de encabezado del controlador MongoDB C++ (en mi casoD:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driverlegacy\include)

c) Cstdint escribe el directorio de archivos de encabezado (en mi caso:\MongoDBcplusplusClient\msinttypes-r26)

  • Paso 11

Vaya a Linker → General y en Directorios de bibliotecas adicionales agregue:

a) Boost directorio de archivos .lib (en mi caso D:\MongoDBcplusplusClient\lib32)

b) Directorio de archivos .lib del controlador MongoDB C++ (en mi caso, D:\MongoDBcplusplusClient\mongo-cxx-driver-legacy\mongo-cxx-driver-legacy\lib)

Después de estos pasos, el proyecto que usa el controlador se compilará con éxito tanto en las configuraciones de lanzamiento como de depuración.