AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

사용자 지정 설치: 소스에서 C 드라이버 라이브러리 빌드

이 페이지에서는 소스 코드 에서 libbson 및 libmongoc 라이브러리를 다운로드, 압축 해제, 구성 및 빌드 방법을 자세히 설명합니다.

팁

추가 정보

이와 같은 경고에는 튜토리얼을 완료하는 데 필요하지 않은 예비 정보와 설명 세부 정보가 포함되어 있지만, 호기심이 많은 독자와 특정 튜토리얼 단계의 의미에 대한 설명을 원하는 고급 사용자에게는 유용할 수 있습니다.

다음 페이지에서는 몇 가지 명명된 변수를 사용하여 $VERSION과 같은 구성 정보를 나타냅니다. 튜토리얼을 시작하기 전에 이러한 변수의 값을 선택해야 합니다. 튜토리얼 단계에서 참조된 변수가 표시되면 해당 값을 대체합니다.

팁

라이브러리를 빌드 전에 지원되는 플랫폼에서 실행 중인지 확인하세요. 지원되는 플랫폼 목록은 호환성 페이지를 참조하세요.

시작하기 전에 mongo-c-driver 다운로드할 버전을 확인하세요. 사용 가능한 버전 목록은 GitHub 리포지토리 태그 페이지에서 확인할 수 있습니다. 이 튜토리얼에서는 현재 운전자 버전인 v.. 를 문서화합니다.255

이 페이지의 나머지 부분에서 $VERSION 는 이 튜토리얼을 위해 빌드할 mongo-c-driver 의 버전 번호를 나타냅니다.

다음 방법 중 하나를 사용하여 mongo-c-driver 소스 코드 가져옵니다.

  • git을(를) 사용하여 리포지토리 복제합니다(권장). 자세한내용은 Git을 사용하여 다운로드를 참조하세요.

  • 특정 버전의 소스 아카이브를 다운로드합니다. 자세한 내용은 릴리스 보관 다운로드를 참조하세요.

중요

신규 사용자는 개발 브랜치에서 빌드하는 것보다 안정적으로 릴리스된 버전의 운전자 를 사용하는 것이 좋습니다 . git clone 또는 리포지토리 의 아카이브를 다운로드 할 때 출시하다 태그를 지정하다 (예: Git의 --branch 인수 사용)를 지정해야 합니다.

Git을 사용하여 GitHub에서 C 운전자 리포지토리 복제할 수 있습니다. 릴리스된 버전의 Git 태그 이름은 해당 버전의 이름을 따서 지정됩니다(예: "..2 55"). 명령줄 에서 리포지토리 복제하려면 다음 명령을 사용합니다.

$ git clone https://github.com/mongodb/mongo-c-driver.git --branch="$VERSION" "$SOURCE"

팁

이름과 달리 git-clone 명령의 --branch 옵션을 사용하여 리포지토리 태그에서 복제할 수 있습니다.

리포지토리의 릴리스 페이지에서 C 운전자 리포지토리 의 보관된 스냅샷 가져올 수 있습니다. 모든 출시하다 에는 빌드 에 mongo-c-driver-x.y.z.tar.gz 필요한 최소한의 파일 설정하다 가 포함된 아카이브가 포함되어 있습니다.

## Download using wget:
$ wget "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/$VERSION.tar.gz" \
--output-document="mongo-c-driver-$VERSION.tar.gz"
## Extract using tar:
$ tar xf "mongo-c-driver-$VERSION.tar.gz"

앞의 명령은 명령을 실행한 디렉토리 내에 운전자 소스 트리의 루트인 mongo-c-driver-$VERSION 디렉토리 만듭니다. 이 문서에서는 이 디렉토리 $SOURCE이라고 합니다. $SOURCE 디렉토리 최상위 CMakeLists.txt 파일 포함되어 있습니다.

## Using curl:
$ curl "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/$VERSION.tar.gz" \
--output="mongo-c-driver-$VERSION.tar.gz"
## Extract using tar:
$ tar xf "mongo-c-driver-$VERSION.tar.gz"

앞의 명령은 명령을 실행한 디렉토리 내에 운전자 소스 트리의 루트인 mongo-c-driver-$VERSION 디렉토리 만듭니다. 이 문서에서는 이 디렉토리 $SOURCE이라고 합니다. $SOURCE 디렉토리 최상위 CMakeLists.txt 파일 포함되어 있습니다.

## Use Invoke-WebRequest:
PS> $url = "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/$VERSION.zip"
PS> $file = "mongo-c-driver-$VERSION.zip"
PS> Invoke-WebRequest -UseBasicParsing -Uri $url -OutFile $file
## Extract using Expand-Archive:
PS> Expand-Archive mongo-c-driver-$VERSION.zip

앞의 명령은 명령을 실행한 디렉토리 내에 mongo-c-driver-$VERSION 디렉토리 만듭니다. mongo-c-driver-$VERSION 디렉토리 에는 운전자 소스 트리의 루트인 두 번째 mongo-c-driver-$VERSION 디렉토리 포함되어 있습니다. 이 문서에서는 이 디렉토리 $SOURCE이라고 합니다. $SOURCE 디렉토리 최상위 CMakeLists.txt 파일 포함되어 있습니다.

및 프로젝트를 구성하려면 CMake를 설치해야 libmongoc libbson 합니다. 플랫폼에 사용할 수 있는 안정적인 최신 버전의 CMake를 다운로드 것이 좋습니다.

운영 체제에 해당하는 탭 선택하고 지침에 따라 CMake를 다운로드 .

  1. CMake .msi 또는 .dmg 파일 다운로드하여 CMake를 설치하는 데 사용합니다.

  1. .sh로 끝나는 자동 압축 풀림 셸 스크립트 다운로드합니다.

  2. sh 유틸리티를 사용하고 적절한 인수를 전달하여 스크립트 실행하여 설치를 수행합니다. 예시 들어 x86_64 플랫폼의 CMake 3.27.0 을 사용하여 다음 명령을 실행 .

    sh cmake-3.27.0-linux-x86_64.sh --prefix="$HOME/.local" --exclude-subdir --skip-license

    $HOME/.local/bin 가 $PATH 목록에 있다고 가정하면 3.27.0 에 대한 cmake 명령을 사용할 수 있게 됩니다.

    --help 옵션을 shell 스크립트에 전달하면 자세한 내용을 확인할 수 있습니다.

이 페이지에서는 cmake 을 PATH 환경 변수에서 명령으로 사용할 수 있고 셸 에서 "cmake" 로 실행할 수 있다고 가정합니다. 다음 코드에 표시된 대로 명령줄 에서 CMake에 --version 를 요청하여 이를 테스트할 수 있습니다.

cmake --version
cmake version 3.21.4
CMake suite maintained and supported by Kitware (kitware.com/cmake).

참고

libbson 만 빌드하려는 경우 빌드에는 CMake로 충분합니다. 추가 C 드라이버 기능을 사용하려면 추가 외부 종속성을 설치해야 할 수 있지만 여기서는 걱정하지 않습니다.

중요

Xcode [1] 또는 Visual Studio [2] 를 사용하여 빌드하는 경우 해당 도구 체인을 사용할 수 있는 특수 환경 내에서 CMake를 실행해야 할 수 있습니다.

이름 $BUILD 을(를) 경로 $SOURCE/_build 로 설정합니다. 이 디렉토리는 CMake가 빌드한 파일을 작성할 디렉토리입니다.

mongo-c-driver 의 소스 디렉토리가 $SOURCE 이고 빌드 디렉토리가 $BUILD 인 경우, 명령줄에서 다음 명령을 실행하여 libbson 및 libmongoc 를 모두 사용하여 프로젝트를 구성할 수 있습니다.

$ cmake -S $SOURCE -B $BUILD \
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
-D BUILD_VERSION="$VERSION" \
-D ENABLE_MONGOC=OFF

모든 종속성이 충족되면 위 명령이 성공하고 다음으로 끝나야 합니다.

$ cmake …
## … (Lines of output) …
-- Generating done
-- Build files have been written to: $BUILD

오류로 인해 구성이 실패한 경우 오류 메시지 및 정보는 CMake 출력을 참조하세요. 계속 진행하기 전에 구성이 성공했는지 확인합니다.

팁

이러한 CMake 인수는 무엇을 의미하나요?

BUILD_VERSION 는 빌드 결과에 포함될 버전 번호를 설정합니다. 이 값은 소스 가져오기에서 다운로드한 소스 드라이버의 버전과 동일한 값으로 설정해야 합니다 .

ENABLE_MONGOC=OFF 인수가 libmongoc 건물을 비활성화했습니다. 다음 섹션에서 이를 빌드해 보겠습니다.

CMAKE_BUILD_TYPE 설정은 생성될 코드 변형을 CMake에 알려줍니다. 의 경우 RelWithDebInfo 최적화된 바이너리가 생성되지만 디버그 정보는 여전히 포함됩니다.CMAKE_BUILD_TYPE은 --config 빌드/설치 시 옵션을 대신 사용하는 다중 구성 생성기(예: Visual Studio)에는 영향을 주지 않습니다.

프로젝트를 성공적으로 구성한 후 CMake를 사용하여 빌드를 실행할 수 있습니다.

$ cmake --build $BUILD --config RelWithDebInfo --parallel

올바르게 구성되고 모든 종속성이 충족되면 위 명령을 계속 실행하여 구성된 구성 요소를 컴파일하고 연결해야 합니다. 위의 명령이 실패하면 환경에 오류가 있거나 지원되지 않거나 테스트되지 않은 플랫폼을 사용하고 있을 수 있습니다. 자세한 내용은 빌드 도구 출력을 참조하세요.

팁

--config 옵션

--config 옵션은 다중 구성 생성기의 경우 사용할 빌드 구성을 설정하는 데 사용됩니다(예: Visual Studio). 다른 생성기에는 영향을 주지 않으며 대신 CMAKE_BUILD_TYPE 을(를) 사용합니다.

$PREFIX 을 $SOURCE/_install 경로로 설정합니다. CMake를 사용하여 빌드된 결과를 설치할 수 있습니다.

$ cmake --install "$BUILD" --prefix "$PREFIX" --config RelWithDebInfo

이 명령은 mongo-c-driver 빌드 결과를 $PREFIX 디렉토리 에 설치합니다.

팁

--config 옵션

--config 옵션은 다중 구성 생성기에만 사용됩니다(예: Visual Studio)이며 그렇지 않은 경우 무시됩니다. --config 에 지정된 값은 cmake --build 의 --config 에 지정된 값과 동일해야 합니다.

팁

라이브러리 버전 관리

소스에서 또는 패키지 관리자를 사용하여 MongoDB C 드라이버 설치하면 버전이 지정된 이름과 경로를 사용하는 파일이 설치됩니다. 드라이버 업그레이드 때 빌드 구성을 업데이트 하지 않으려면 CMake의 find_package() 명령과 같은 빌드 시스템의 표준 종속성 검색 메커니즘을 사용할 수 있습니다. 전체 라이브러리 파일 이름이나 설치 경로를 하드 코딩하는 대신 플랫폼의 공유 라이브러리 심볼릭 링크 규칙을 사용할 수도 있습니다.

libbson 구성에서 시작하여 위의 단계를 수행한 경우 최종 결과에는 libbson 전체 C 데이터베이스 운전자 라이브러리가 아닌 만 포함됩니다.libmongoc 빌드는 ENABLE_MONGOC CMake 변수를 사용하여 활성화/비활성화합니다. CMake를 다시 ENABLE_MONGOC 실행하되 TRUE 를 로 설정하다 .

$ cmake -D ENABLE_MONGOC=ON -B $BUILD -S $SOURCE

위 명령이 성공하면 프로젝트(으)로 빌드 되도록 재구성된 것입니다. 프로젝트 빌드 libmongoc 및 빌드 결과 설치의 프로세스 에 따라 다시 를 빌드 하고 libmongoc 설치합니다.

[1]

Xcode를 사용하여 프로젝트 를 구성하고 빌드 하려면 환경에서 Xcode 명령줄 도구를 설치하고 사용할 수 있도록 설정해야 합니다. 명령줄 환경에서 다음을 실행.

$ xcode-select --install

이렇게 하면 $PATH 에서 컴파일러와 링커를 사용할 수 있습니다.

[2]

Microsoft Visual C++를 사용하여 프로젝트를 구성하고 빌드하려면 CMake 또는 빌드 명령을 실행할 때 Visual C++ 도구 및 환경 변수를 설정해야 할 수 있습니다.

대부분의 경우 CMake는 Visual Studio 설치를 감지하고 실행 시 환경 자체를 자동으로 로드합니다. 이 자동 감지는 CMake의,-G -T및 -A 옵션으로 제어할 수 있습니다.-G 옵션은 사용할 Visual Studio 버전을 선택하므로 가장 중요합니다. 지원되는 Visual Studio 버전은 설치한 CMake 버전에 따라 다릅니다. 지원되는 Visual Studio 버전 목록은 여기에서 확인할 수 있습니다.

더 많은 제어 및 더 많은 툴 옵션을 위해 Visual Studio 개발자 PowerShell (권장) 또는 개발자 명령 프롬프트 (레거시)내에서 명령을 실행하는 것이 좋습니다.

자세한 내용은 Microsoft Visual Studio 문서 페이지의Visual Studio 개발자 명령 프롬프트 및 개발자 PowerShell 및 명령줄 에서 Microsoft C++ 도구 세트 사용을 참조하세요.