복붙노트

[MONGODB] 어떻게 ++하여 MongoDB의 드라이버를 C를 사용하여 프로그램을 구축 할 수 있습니다?

MONGODB

어떻게 ++하여 MongoDB의 드라이버를 C를 사용하여 프로그램을 구축 할 수 있습니다?

어떻게하여 MongoDB의 ++ 드라이버 c를 사용하여 프로그램을 빌드하는 방법을 가르쳐주세요. 내 나쁜 영어에 대한 어떤 불꽃이 없습니다.

내 환경

나는 다음과 같은 단계를 수행했습니다.

나는 드라이버를 사용하여 프로그램을 만들었다. 그러나 프로그램의 빌드 솔루션은 실패했습니다.

1>mongoclient.lib(stringutils.obj) : error LNK2001: unresolved external symbol __security_check_cookie
1>mongoclient.lib(initializer_dependency_graph.obj) : error LNK2001: unresolved external symbol __security_check_cookie
1>mongoclient.lib(initializer.obj) : error LNK2001: unresolved external symbol __security_check_cookie
....
 fatal error LNK1120: 154 unresolved externals

당신이 단계에 대한 이상한 것을 지적하면 것인지하는 것은 나에게 도움이됩니다.

고맙습니다.

해결법

  1. ==============================

    1.MongoDB를 C ++ 드라이버를 빌드하는 방법

    MongoDB를 C ++ 드라이버를 빌드하는 방법

    이 솔루션은 다음과 같은 특성을 가진 기계에 성공했다 :

    나는 D 사용 : 작업 디렉토리로 \ MongoDBcplusplusClient을 (나는 모든 전제 조건이 설치).

    방법:

    MongoDB를 C ++ 드라이버를 다운로드 :

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

    당신은 힘내를 사용하여 복제를하거나 .zip 파일로 다운로드 할 수 있습니다 우선은이 mongo-cxx-driver-legacy.zip 같은 파일을 얻을 것이다 (나는 두 번째를했다). 작업 디렉토리 안에있는 폴더 몽고-CXX 드라이버 - 기존에 압축을 풉니 다.

    다운로드 부스트 미리 만들어진 윈도우 바이너리. 주의!!! 당신은 부스트의 특정 버전을 사용해야합니다. 내 경우 버전 1.52 트릭을했다. 당신은 여기에서 다운로드 할 수 있습니다 :

    http://boost.teeks99.com/

    나는 boost_1_52_0-vc32-bin.exe 자동 압축 풀림 EXE를 다운로드했습니다. 작업 디렉토리에 넣고 실행합니다. 이 폴더 부스트 바이너리 (.LIB 및 .dll 파일)를 포함합니다 (lib32 같은)를 생성합니다

    다운로드 부스트 소스 코드 (.H 파일). 물론 이러한 2 단계에서 내가 여기에서 그들을 다운로드와 같은 버전이어야합니다 :

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

    당신은 당신이 boost_1_52_0 폴더에서 추출 할 수있는 파일 boost_1_52_0.zip을 얻을 것이다.

    파이썬을 다운로드합니다. 이 예에서는 여기에서 버전 2.7.9 특히 윈도우 86 MSI 설치 프로그램을 다운로드 :

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

    여기에서 SCons는 다운로드 :

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

    (: \ Python27 내 경우 C에서) 나는 Windows 설치 (SCons는-2.3.4-setup.exe를)과 파이썬 디렉토리에 설치 SCons는 다운로드.

    여기에서 msinttypes 다운로드 :

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

    (당신은 드라이버를 사용하는 프로젝트에이 헤더 파일을 포함한다)

    시작 -> 실행으로 이동합니다 ... 그리고 실행 상자 쓰기 cmd를한다. 당신은 내가 한 내 경우에는 1 단계에서 몽고 드라이버를 추출하는 폴더로 열린 명령 프롬프트 창 탐색에서 : CD D : \ D : \ MongoDBcplusplusClient \ 몽고-CXX 드라이버 레거시 \ 몽고-CXX 드라이버 레거시

    SCons는을 사용하여 드라이버를 빌드합니다. 디렉토리에서 당신은 7 단계 쓰기에서 탐색 :

    SCons는

    --prefix = D : \ MongoDBcplusplusClient \ 몽고-CXX 드라이버 레거시 \ 몽고-CXX 드라이버 레거시

    --cpppath = D : \ MongoDBcplusplusClient \ boost_1_52_0 \ boost_1_52_0

    --libpath = D : \ MongoDBcplusplusClient \ lib32

    --win 버전 분 = XPSP3 설치

    및 히트 입력합니다.

    --prefix 플래그를 지정하는 드라이버의 lib 디렉토리 파일이 생성 될 때의 대상 디렉토리, --cpppath 지정 부스트 헤더 파일이 위치한되는 폴더와 --libpath 파일을 lib 디렉토리 부스트의 경로입니다. 물론 당신은 당신의 경로를 변경해야합니다. 파일 이름 libmongoclient-s.lib은 --prefix / lib 디렉토리 경로에 생성됩니다. 디버깅과 드라이버를 구축하려면 다음과 같은 명령을 사용한다 사용 가능 :

    SCons는

    --prefix = D : \ MongoDBcplusplusClient \ 몽고-CXX 드라이버 레거시 \ 몽고-CXX 드라이버 레거시

    --cpppath = D : \ MongoDBcplusplusClient \ boost_1_52_0 \ boost_1_52_0

    --libpath = D : \ MongoDBcplusplusClient \ lib32

    --win 버전 분 = XP SP3

    --dbg = 설치에

    파일 이름 libmongoclient-sgd.lib은 --prefix / lib 디렉토리 경로에 생성됩니다.

    MongoDB를 C ++ 드라이버가 설치되어있는 폴더에 Windows 탐색기의 탐색에서 하위 폴더 lib 디렉토리로 이동 (내 경우에는이 있었다 D : \ MongoDBcplusplusClient \ 몽고-CXX 드라이버 레거시 \ 몽고-CXX 드라이버 레거시 \ LIB) 및 mongoclient.lib 할 파일 libmongoclient-s.lib 및 mongoclient - gd.lib에 libmongoclient - sgd.lib 이름을 바꿉니다.

    Visual Studio를 열고 2010 Express는 당신이 MongoDB를 C ++ 드라이버를 사용하고자하는 프로젝트를 열고. 당신은 종속성을 지정해야합니다. 솔루션 탐색기 (왼쪽 열)을 선택하고 속성을 히트에있는 프로젝트의 이름을 마우스 오른쪽 버튼을 클릭합니다. C / C ++ → 일반 이동 및 추가에 디렉토리를 추가 포함 :

    A) 부스트 헤더 내 경우 D에 디렉토리 (파일 : \ MongoDBcplusplusClient \ boost_1_52_0 \ boost_1_52_0)

    b)는 MongoDB를 C ++ 드라이버 헤더 내 경우에는 디렉토리 (파일     D : \ MongoDBcplusplusClient \ 몽고-CXX 드라이버 레거시 \ 몽고-CXX 드라이버     기존 \ 포함)

    C) Cstdint 유형 헤더 내 경우에는 디렉토리 (파일     : \ MongoDBcplusplusClient \ msinttypes-R26)

    링커 → 일반 및 추가 라이브러리 디렉토리에 추가로 이동

    A) 부스트 lib 디렉토리 파일 디렉토리 (내 경우에 D : \ MongoDBcplusplusClient \ lib32)

    내 경우 D에서 B) MongoDB를 C ++ 드라이버 lib 디렉토리 파일 디렉토리 (: \ MongoDBcplusplusClient \ 몽고-CXX 드라이버 레거시 \ 몽고-CXX 드라이버 레거시 \ lib 디렉토리)

    이러한 단계를 한 후 드라이버를 사용하는 프로젝트를 성공적으로 출시하고 디버그 구성에서 모두 지어 질 것이다.

  2. ==============================

    2.간단한 솔루션을 사용 vcpkg.

    간단한 솔루션을 사용 vcpkg.

    자식에 언급 한 바와 같이 다운로드 지침을 따르 vcpkg. https://github.com/Microsoft/vcpkg

    1 단계 C :. \ vcpkg> \ vcpkg 검색 MongoDB를

    당신은 그런 일을 볼 수

    MongoDB를위한 C로 작성 몽고-C-드라이버 1.6.2-1 클라이언트 라이브러리입니다.

    몽고-CXX 드라이버 3.1.1-1 MongoDB를 C ++ 드라이버.

    2 단계 C :. \ vcpkg 검색 몽고-CXX-드라이버를 설치 MongoDB를

    다음 .... 커피 한잔을 잡아

    3 단계

    C :. \ vcpkg> \ 설치 통합 vcpkg

    끝난..

    노트 전제 조건 :

    윈도우 10, 8.1, 또는 7

    비주얼 스튜디오 2017 또는 Visual Studio 2015 업데이트 3

    단순히 가져

       #include <cstdint>
       #include <iostream>
       #include <vector>
       #include <bsoncxx/json.hpp>
       #include <mongocxx/client.hpp>
       #include <mongocxx/stdx.hpp>
       #include <mongocxx/uri.hpp>
    
         using bsoncxx::builder::stream::close_array;
         using bsoncxx::builder::stream::close_document;
         using bsoncxx::builder::stream::document;
         using bsoncxx::builder::stream::finalize;
         using bsoncxx::builder::stream::open_array;
         using bsoncxx::builder::stream::open_document;
    
  3. from https://stackoverflow.com/questions/19774805/how-can-i-build-a-program-using-c-driver-of-mongodb by cc-by-sa and MIT license