2016-07-28 9 views
1

mongo-cxx 드라이버를 빌드하려고합니다. 첫 번째 단계는 mongo-c-driver (libbson이 필요합니다)를 빌드하는 것입니다.mongo-c-driver가 libbson을 찾을 수 없습니다.

저는 Windows 10을 실행 중이며 Visual Studio 2015를 제 컴파일러로 사용하고 있습니다. 나는 CMake를 실행할 수 있었고 libbson을 빌드 할 수있었습니다. 모든 프로젝트를 잘 만들었습니다. 이제 bson-static-1.0.lib 사본을 mongo-c-driver/src/libbson/build/Debug/mongo-c-driver/src/libbson/build/Release/으로 작성했습니다. 모든 것이 옳은 것처럼 보입니다.

다음 단계는 mongo-c-driver를 만드는 것입니다. 내가 CMake를 실행하고 비주얼 스튜디오 솔루션을 만들려고하지만 오류를 가지고 :

Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR) 
Searching for sasl/sasl.h 
    Not found (specify -DCMAKE_INCLUDE_PATH=C:/path/to/sasl/include for SASL support) 
Searching for libsasl2 
    Not found (specify -DCMAKE_LIBRARY_PATH=C:/path/to/sasl/lib for SASL support) 
Current version (from VERSION_CURRENT file): 1.3.5 
CMake Error: The following variables are used in this project, but they are set to NOTFOUND. 
Please set them or make sure they are set and tested correctly in the CMake files: 
BSON (ADVANCED) 
    linked by target "mongoc_shared" in directory C:/Users/sdf/Downloads/mongo-c-driver-1.3.5 
    linked by target "mongoc_static" in directory C:/Users/sdf/Downloads/mongo-c-driver-1.3.5 

Configuring incomplete, errors occurred! 
See also "C:/Users/sdf/Downloads/mongo-c-driver-1.3.5/build/CMakeFiles/CMakeOutput.log". 

그것은 올바른 값으로 설정되어 있지 않은 변수 BSON 모양을 - 그것은 값이 지금 BSON-NOTFOUND입니다입니다. 누구든지 BSON에 대한 올바른 값을 알고 있고, 컴파일 과정에서 자동으로 설정해야한다면 libbson을 컴파일합니까?

답변

0

조심스럽게 "Windows에 설치"지침을 따르십시오 :

https://api.mongodb.com/c/current/installing.html#building-windows

을 당신이 libbson을 구축 할 때 CMAKE_INSTALL_PREFIX 설정 부분을 놓치고있는 것 같다, 다음 libbson를 설치하고 같은 CMAKE_INSTALL_PREFIX으로 libmongoc를 구축 환경.

+0

안녕하세요, 내 대답이 문제를 해결합니까, 아니면 더 많은 정보가 필요합니까? –

0

먼저 libbson의 SLN에 프로젝트를 설치 구축이 필요

(리눅스 방식과 같은 LIB 폴더를 만들 필요가 있기 때문에, 관리자 모드에서 대 실행) 그리고 lib 디렉토리에 INSTALL 프로젝트가 생성 된 폴더와 BSON을 포함 BSON_INCLUDE_DIR를 정의 당신은 예를 C에 대한 구축 파일 :/프로그램 파일/libbson/lib 디렉토리/bson 정전기-1.0.lib cmake에서 (이 bSON의 이름이 BSON_LIB로 이름을 변경해야 문제가) MongoDB를의 C++ 드라이버를 컴파일

1

스마트 방법. vcpkg

vcpkg는 git에서 언급 한 지침을 따르십시오. https://github.com/Microsoft/vcpkg

1 단계 C : \ vcpkg> \ vcpkg 검색하여 MongoDB

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

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

유용한 링크. https://stackoverflow.com/a/46981525/8617780

+0

이 링크는 질문에 대답 할 수 있지만 답변의 핵심 부분을 여기에 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [검토 중] (리뷰/저품절 게시물/17761696) –

+0

정확합니다, 답변을 수정했습니다. @ 제프 제이 틀린 –