본문 바로가기

정보/IT

[VC] CMake로 MongoDB 라이브러리 만들기



영어로 된 설명이나 코드를 제대로 읽고 이해만 해도 금방 끝낼껄 몇시간 개고생해서 정리


환경

    visual studio c++ 2013 express for desktop

    cmake 3.6.2

    mongo-c-driver 1.6.2


요약

  .. c driver는 vs 2010 이상

  .. cxx driver는 vs 2015 이상

  .. libbson 먼져 추출 빌드해서 나온 라이브러리를 mongoc 빌드 할때 설정해야함

    ... libbson, mongoc => CMAKE_INSTALL_PREFIX 값 => 라이브러리 복사되는 폴더

    ... mongoc = > BSON_ROOT_DIR( Add Entry 로 추가 ) => libbson 라이브러리 폴더


? : c Driver 는 2010 버전 이상이여야 됨

    => http://mongoc.org/libmongoc/current/installing.html




? : c++ Driver 는 2015 버전 이상이여야 됨

    => https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/installation/


1. CMake 다운로드 및 설치

    => https://cmake.org/download/


2. Mongo-C-Driver 다운로드 ( libbson 포함되어 있음 )

    => https://docs.mongodb.com/ecosystem/drivers/

    => https://github.com/mongodb/mongo-c-driver


3. Mongo-C-Driver 압축 풀기 및 프로젝트 만들어질 폴더, 라이브러리 복사 할 폴더 생성

    CMake 폴더 => 압축 풀 곳

    project_libbson 폴더 => CMake 로 libbson프로젝트 만들어질 곳

    project_mongoc 폴더 => CMake 로 mongoc 프로젝트 만들어질 곳

    output 폴더 => 프로젝트 빌드하고 헤더 파일과 lib 파일 복사 될 곳



4. libbson 프로젝트 추출

cd mongo-c-driver-1.6.2\src\libbson
cmake -G "Visual Studio 14 2015 Win64" "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver"

  홈페이지에 있는 요거 하는 과정


  4-1 Configure

    Where is the source code => .\CMake\src\libbson

    Where to build the binaries = > .\project_libbson

    Configure 클릭


  4-2 원하는 프로젝트 타입 선택

    Finish 클릭



  4-3 설정 값 수정 및 추출

    CMAKE_INSTALL_PREFIX 값 => .\output

    ( 이게 INSTALL 프로젝트 빌드 했을 때 헤더 파일과 LIB 복사되는 폴더 )

   Generate 클릭


Generating done 확인 후 .\project 폴더 가보면 빌드할 수 있는 프로젝트 생성 됨



5. libbson 빌드

    ALL_BUILD 빌드

    INSTALL 빌드

msbuild.exe ALL_BUILD.vcxproj
msbuild.exe INSTALL.vcxproj

홈페이지에 있는 요거 하는 과정


아무 vcxproj 파일이나 실행 하면 요래 나옴 


여기서 visual studio 실행하고 프로젝트 불러와서 빌드 하면 됨..


완료하면 아래 처럼 생성 됨

    bin => dll 파일

    include => header 파일

    lib => lib 파일




6. mongc 프로젝트 추출

  libbson 이랑 순서는 똑같음


cd mongo-c-driver-1.6.2
cmake -G "Visual Studio 14 2015 Win64" \
  "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver" \
  "-DBSON_ROOT_DIR=C:\mongo-c-driver"

요거 해주는 작업


  6-1 Configure

    Where is the source code => .\CMake

    Where to build the binaries = > .\project_mongoc

    Configure 클릭


  6-2 원하는 프로젝트 타입 선택(복붙)

    Finish 클릭


  6-3 설정 값 수정 및 추출


    CMAKE_INSTALL_PREFIX 값 => .\output

    ( 이것도 INSTALL 프로젝트 빌드 했을 때 헤더 파일과 LIB 복사되는 폴더 )


    Add Entry클릭

      Name => BSON_ROOT_DIR

      Type => STRING

      Value => .\output

      OK 클릭

 

    

   Generate 클릭

프로젝트 파일이 또 나왔다


7. mongoc 빌드

    ALL_BUILD 빌드

    INSTALL 빌드

msbuild.exe ALL_BUILD.vcxproj
msbuild.exe INSTALL.vcxproj

아까 한거 같지만 이거 함


아무 vcxproj 파일이나 실행 하면 요래 나옴 



여기서 visual studio 실행하고 프로젝트 불러와서 빌드 하면 됨..


완료하면 아까 만들어졌던 폴더안에 내용이 추가 됨

    bin => dll 파일

    include => header 파일

    lib => lib 파일


8. 이제 프로젝트에서 불러다 쓰면 됨

-끝-