C++ 개발 환경 설정

이 가이드에서는 Google Cloud에서 실행되는 C++ 앱 개발을 포함하여 C++ 개발을 위해 로컬 머신을 준비하는 방법을 설명합니다.

개발 환경이 이미 설정되어 있으면 C++ 및 Google Cloud를 참조하여 Google Cloud에서 C++ 앱을 실행하는 방법에 대한 개요를 보실 수 있습니다.

목표

  • Google Cloud와 호환되는 지원되는 C++ 버전 설치하기
  • C++ 빌드 시스템 설치하기
  • 편집기 설치하기(선택사항)
  • Google Cloud CLI 설치하기(선택사항)
  • C++용 Cloud 클라이언트 라이브러리 설치하기(선택 사항)
  • 인증을 설정합니다.

C++ 설치

C++의 설치 지침은 운영체제별로 다릅니다. macOS, Windows 또는 Linux 등 개발 환경에서 실행 중인 운영체제용 가이드를 따르세요.

macOS

  1. Xcode의 명령줄 도구를 설치하여 C++ 컴파일러를 가져올 수 있습니다.

    xcode-select --install
    
  2. 설치가 완료되면 컴파일러를 c++로 사용할 수 있는지 확인합니다.

    c++ --version
    

Windows

  1. Windows 환경에 C++ 컴파일러를 설치하려면 Visual Studio 웹사이트에서 Microsoft 'Visual Studio'를 다운로드하세요. 편집기, 디버거, 빌드 시스템을 포함한 전체 IDE가 다운로드됩니다.

  2. C++ 컴파일러에 액세스하려면 Visual Studio의 시작 가이드의 C++ 섹션을 따르세요.

Linux

대부분의 Linux 배포판에는 GCC가 기본 C++ 컴파일러로 포함되어 있습니다. 또한 많은 Linux 배포판에 Clang이 대체 C++ 컴파일러로 포함되어 있습니다. C++ 클라이언트 라이브러리는 두 가지를 모두 지원합니다.

  1. Linux 환경에 C++을 설치하려면 배포에 적합한 패키지를 설치합니다. Debian 및 Ubuntu의 경우 이 패키지는 g++입니다.

    다음 명령어를 사용하여 패키지를 설치합니다.

    sudo apt update
    sudo apt install g++
    
  2. 설치가 완료되면 g++가 설치되었는지 확인합니다.

    g++ --version
    

Google Cloud와 호환되는 C++ 빌드 시스템 설치

C++를 효과적으로 사용하려면 C++용 Cloud 클라이언트 라이브러리를 지원하는 빌드 시스템 및 패키지 관리자가 필요합니다. 클라이언트 라이브러리는 이러한 빌드 시스템과 패키지 관리자를 지원합니다.

vcpkg를 사용한 CMake

  1. 설치된 CMake용 패키지를 운영체제에서 제공할 수도 있습니다. 제공하지 않으면 CMake 다운로드 페이지에서 설치합니다.

  2. vcpkg를 설치하려면 vcpkg 시작하기를 참조하세요.

Conda를 사용한 CMake

  1. 설치된 CMake용 패키지를 운영체제에서 제공할 수도 있습니다. 제공하지 않으면 CMake 다운로드 페이지에서 설치합니다.

  2. Conda를 설치하려면 Conda 사용자 가이드의 설치 섹션을 참조하세요.

Bazel

  1. Bazel을 설치하려면 Bazel 설치를 참조하세요.

기타

다른 빌드 시스템이나 패키지 관리자를 사용해야 하는 경우 C++ 클라이언트 라이브러리 저장소에는 소스에서 빌드하는 방법이 포함됩니다.

편집기 설치

C++를 지원하는 다양한 편집기 및 IDE가 있습니다. 필요에 맞는 방법을 선택하세요. 선택할 때 다음 기능을 고려하세요.

  • 완전히 통합된 디버깅 기능
  • 구문 강조표시
  • 코드 완성

Google Cloud CLI 설치

Google Cloud CLI는 Google Cloud를 위한 도구 집합입니다. 여기에는 명령줄에서 Compute Engine, Cloud Storage, BigQuery, 기타 서비스에 액세스하는 데 사용되는 gcloud, gsutil, bq 명령줄 도구가 포함되어 있습니다. 이러한 도구를 대화식으로 또는 자동화 스크립트를 사용하여 실행할 수 있습니다.

C++용 Cloud 클라이언트 라이브러리 설치

C++용 Cloud 클라이언트 라이브러리는 C++ 개발자가 Cloud Spanner 및 Cloud Storage와 같은 Google Cloud 서비스와 통합하기 위해 사용하는 일반적인 방법입니다.

예를 들어 Cloud Storage API와 같은 개별 API의 패키지를 설치하려면 다음을 수행합니다.

vcpkg를 사용한 CMake

  1. vcpkg.json 파일에 종속 항목으로 google-cloud-cpp를 추가합니다.

    {
        "name": "setup-cpp-vcpkg",
        "version-string": "unversioned",
        "description": "Setting up C++ for Google Cloud with CMake and vcpkg",
        "dependencies": [
            {"name": "google-cloud-cpp", "default-features": false, "features": ["storage"]}
        ]
    }
    
  2. 라이브러리를 요구하도록 CMakeLists.txt 파일을 수정합니다.

    find_package(google_cloud_cpp_storage REQUIRED)
  3. 대상에 이 종속 항목을 추가합니다.

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. vcpkg 도구 모음을 사용하여 CMake를 구성합니다. 그러면 google-cloud-cpp 및 종속 항목이 자동으로 다운로드되고 컴파일됩니다.

    cmake -S . -B [build directory] \
        -DCMAKE_TOOLCHAIN_FILE=[vcpkg location]/scripts/buildsystems/vcpkg.cmake
    

Conda를 사용한 CMake

  1. Conda를 사용하여 종속 항목을 설치합니다.

    conda config --add channels conda-forge
    conda config --set channel_priority strict
    conda install -y -c conda-forge cmake ninja cxx-compiler google-cloud-cpp libgoogle-cloud
  2. 라이브러리를 요구하도록 CMakeLists.txt 파일을 수정합니다.

    find_package(google_cloud_cpp_storage REQUIRED)
  3. 대상에 이 종속 항목을 추가합니다.

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. Conda 환경 내에서 CMake를 구성합니다.

    cmake -S . -B [build directory]
    

Bazel

  1. WORKSPACE 파일에서 다음 명령어를 추가하여 C++ 소스 코드용 Cloud 클라이언트 라이브러리를 다운로드합니다.

    load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
    
    http_archive(
        name = "google_cloud_cpp",
        sha256 = "63f009092afd900cb812050bcecf607e37d762ac911e0bcbf4af9a432da91890",
        strip_prefix = "google-cloud-cpp-2.19.0",
        url = "https://github.com/googleapis/google-cloud-cpp/archive/v2.19.0.tar.gz",
    )
  2. WORKSPACE 파일에서 Starlark 함수를 호출하여 재귀 종속 항목을 로드합니다.

    load("@google_cloud_cpp//bazel:google_cloud_cpp_deps.bzl", "google_cloud_cpp_deps")
    
    google_cloud_cpp_deps()
    
    load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language")
    
    switched_rules_by_language(
        name = "com_google_googleapis_imports",
        cc = True,
        grpc = True,
    )
    
    load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
    
    grpc_deps()
    
    load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps")
    
    grpc_extra_deps()
  3. BUILD 파일에서 Cloud Storage 라이브러리를 사용합니다.

    cc_binary(
        name = "hello_world",
        srcs = ["hello_world.cc"],
        deps = ["@google_cloud_cpp//:storage"],
    )

인증 설정

로컬 개발 환경에서 Cloud 클라이언트 라이브러리를 사용하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다.

Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

gcloud auth application-default login

자세한 내용은 클라이언트 라이브러리 사용을 위한 인증을 참조하세요.

다음 단계