[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.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.간단한 솔루션을 사용 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;
from https://stackoverflow.com/questions/19774805/how-can-i-build-a-program-using-c-driver-of-mongodb by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB의 : 중첩 된 배열 필터링을 발견하고 findOne (0) | 2019.12.20 |
---|---|
[MONGODB] 종류 및 한도 가상 채울 몽구스 (0) | 2019.12.20 |
[MONGODB] MongoDB의에서 현지 시간대와 날짜 별 그룹 (0) | 2019.12.20 |
[MONGODB] 각 그룹에 대해 마지막으로 "true"로 값을 반환 (0) | 2019.12.20 |
[MONGODB] MongoDB를 GET _id 찾기 쿼리 문자열로 (0) | 2019.12.20 |