Programing

MonngoDB C++ 드라이버 설치하기

Medeev 2016. 12. 21. 21:32
  1. 참고
    1. https://github.com/mongodb/mongo-cxx-driver/wiki/Download-and-Compile-the-Legacy-Driver
  2. Boost 설치하기
    1. 아래 경로에서 설치본을 다운 받고 설치한다. 여기서는 D:\boost\boost_1_59_0에 설치 했다고 가정한다.
    2. http://sourceforge.net/projects/boost/files/boost-binaries/
  3. 파이썬 설치하기
    1. 아래 경로에서 2.X대 버전을 다운 받고 설치한다. 여기서는 D:\Python27에 설치 했다고 가정한다.
    2. https://www.python.org/
  4. Scons 설치하기
    1. 아래 경로에서 다운 받고 설치한다. 자동으로 파이썬 설치 경로를 인식해서 D:\Python27\Scripts 경로에 설치된다
    2. http://www.scons.org/
    3. Scons설치중 
    4. Python version 2.7 required, which was not found in the registry어쩌고 저쩌고 하면 초기 파이썬 설치 시  Install just for me를 체크하지 않고 Install for all users를 선택한 사용자에게 생기는 에러라고 한다. 파이선을 지웠다가 다시 깔거나 http://modular.tistory.com/34 여기에 나온데로 레지스트리를 변경하자.

  5. 환경 변수 path에 파이썬 경로 추가하기
    1. D:\Python27;D:\Python27\Scripts
  6. 레거시 C++ 드라이버 다운
    1. 아래 경로에서 안정화된 최신버전을 다운 받고 압축을 푼다. 여기서는 D:\mongo-cxx-driver-legacy에 압축을 풀었다고 가정한다.
    2. https://github.com/mongodb/mongo-cxx-driver/releases
  7. 빌드하기
    1. 관리자 권한으로 명령 프롬프트를 실행하고 D:\mongo-cxx-driver-legacy 경로로 이동한다
    2. 기본 옵션인 static 라이브러리 MT 옵션으로 빌드한다.
    3. [--64] : 64비트로 빌드한다.
    4. [--prefix=D:\mongodb\client] : 결과물 출력경로를 지정한다.
    5. [--cpppath=D:\boost\boost_1_59_0] : Boost 소스 경로를 지정한다.
    6. [--libpath= D:\boost\boost_1_59_0\lib64-msvc-14.0] : Boost 라이브러리 경로를 지정한다.
    7. 아래 명령을 입력해서 릴리즈 빌드한다.
      1. 64비트일 경우 64비트 부스트 라이브러리 설치하고
        1.  Scons --64 --prefix=D:\mongodb\client --cpppath=D:\boost\boost_1_62_0 --libpath=D:\boost\boost_1_62_0\lib64-msvc-14.0 install
      2. 32비트 일 경우 32비트 부스트 라이브러리 설치하고
        1. Scons --32 --prefix=D:\mongodb\client --cpppath=D:\boost\boost_1_62_0 --libpath=D:\boost\boost_1_62_0\lib32-msvc-14.0 install
    8. 아래 명령으로 디버그 빌드한다.
      1. 64비트일 경우 64비트 부스트 라이브러리 설치하고
        1. Scons --64 --prefix=D:\mongodb\client --cpppath=D:\boost\boost_1_62_0 --libpath=D:\boost\boost_1_62_0\lib64-msvc-14.0 install --dbg=on
      2. 32비트 일 경우 32비트 부스트 라이브러리 설치하고
        1. Scons --32 --prefix=D:\mongodb\client --cpppath=D:\boost\boost_1_62_0 --libpath=D:\boost\boost_1_62_0\lib32-msvc-14.0 install --dbg=on
  8. 빌드가 성공했으면 아래 내역이 생성된다.
    1. D:\mongodb\client\include
    2. D:\mongodb\client\lib\libmongoclient-s.lib

    3. D:\mongodb\client\lib\libmongoclient-sgd.lib

  9. Visual Studio 프로젝트 속성 설정

    1. 포함 디렉터리에 D:\mongodb\client\include를 추가

    2. 라이브러리 디렉터리에 D:\mongodb\client\lib를 추가

  10. 접속 테스트

#include<WinSock2.h>

#define STATIC_LIBMONGOCLIENT

#include "mongo/client/dbclient.h"

 

#pragma comment(lib, "ws2_32.lib")

 

bool Test()

{

mongo::client::initialize();

 

try

    {

        mongo::DBClientConnection conn;

        conn.connect("localhost");

    }

    catch (...)

    {

        return false;

    }

 

        return true;

}