# Vcpkg: 개요

[中文总览](README_zh_CN.md)
[Español](README.md)
[English](README_ko_KR.md)
[Français](README_fr.md)

Vcpkg는 Windows, Linux 및 MacOS에서 C 및 C++ 라이브러리를 관리하는 데 도움이 됩니다.
이 툴과 생태계는 지속적으로 진화하고 있으며 항상 기여해 주셔서 감사합니다!

이전에 vcpkg를 사용한 적이 없거나 vcpkg를 사용하는 방법을 알고 싶을 경우,
vcpkg 사용을 시작하는 방법은 [시작하기](#시작하기) 섹션을 확인하세요.

사용 가능한 명령어에 대한 간단한 설명을 보려면 vcpkg를 설치 한 후 `vcpkg help` 또는 `vcpkg help [command]` 명령어로 명령어 별 도움말을 볼 수 있습니다.

* Github: [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg)
* Slack: [https://cppalliance.org/slack/](https://cppalliance.org/slack/), #vcpkg 채널
* Discord: [\#include \<C++\>](https://www.includecpp.org), #🌏vcpkg 채널
* Docs: [Documentation](docs/README.md)

[![Build Status](https://dev.azure.com/vcpkg/public/_apis/build/status/microsoft.vcpkg.ci?branchName=master)](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=29&branchName=master)

# 목차

- [Vcpkg: 개요 둘러보기](#vcpkg-개요)
- [목차](#목차)
- [시작하기](#시작하기)
  - [빠르게 시작하기: 윈도우](#빠르게-시작하기-윈도우)
  - [빠르게 시작하기: 유닉스](#빠르게-시작하기-유닉스)
  - [리눅스 개발자 도구 설치하기](#리눅스-개발자-도구-설치하기)
  - [macOS 개발자 도구 설치하기](#macos-개발자-도구-설치하기)
  - [CMake와 함께 vcpkg 사용](#cmake와-함께-vcpkg-사용)
    - [Visual Studio Code와 CMake Tools](#visual-studio-code와-cmake-tools)
    - [Visual Studio CMake 프로젝트와 Vcpkg](#visual-studio-cmake-프로젝트와-vcpkg)
    - [Vcpkg와 CLion](#vcpkg와-clion)
    - [서브모듈로서의 Vcpkg](#서브모듈로서의-vcpkg)
- [탭 완성/자동 완성](#탭-완성자동-완성)
- [예제](#예제)
- [기여](#기여)
- [라이선스](#라이선스)
- [데이터 수집](#데이터-수집)

# 시작하기

먼저, 사용하는 운영체제에 따라 빠르게 시작하기 문서를 따라가세요.
[윈도우](#빠르게-시작하기-윈도우) 또는 [macOS 그리고 Linux](#빠르게-시작하기-유닉스).

더 많은 정보를 얻고 싶다면, [패키지 설치 및 사용][getting-started:using-a-package] 문서를 참고하세요.
만약 필요한 라이브러리가 vcpkg 카탈로그에 없는 경우, vcpkg 팀이나 커뮤니티가 볼 수 있는
[GitHub 저장소에서 이슈를 열 ​​수 있습니다][contributing:submit-issue]
또한 잠재적으로 vcpkg에 포트가 추가될 것 입니다.

vcpkg를 설치하고 작동 한 후, 
셸에 [탭 완성/자동 완성](#탭-완성/자동-완성)을 추가 할 수 있습니다.

마지막으로, vcpkg의 미래에 관심이 있다면,
[manifest][getting-started:manifest-spec] 가이드를 확인하세요!
이것은 실험적인 기능이며 버그가 있을 수도 있습니다.
시도해보고 문제가 있다면 [이슈을 여세요][contributing:submit-issue]!

## 빠르게 시작하기: 윈도우

필요조건:
- Windows 7 이상
- [Git][getting-started:git]
- [Visual Studio][getting-started:visual-studio] 영어 언어팩이 설치된 2015 Update 3 버전 이상
 
첫번째로, vcpkg 자체를 다운로드하고 부트스트랩합니다; 어디에나 설치할 수 있습니다,
하지만 일반적으로 CMake 프로젝트의 하위 모듈로 vcpkg를 사용하는 것이 좋습니다.
Visual Studio 프로젝트를 위해 전역적으로 설치합니다.
설치 위치는 `C:\src\vcpkg` 나 `C:\dev\vcpkg`를 사용할것을 권장합니다. 
그렇지 않으면 일부 포트 빌드 시스템에서 경로 문제가 발생할 수도 있습니다.

```cmd
> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat
```

당신의 프로젝트에 라이브러리를 설치, 실행 시키려면 다음과 같이 작성하세요:

```cmd
> .\vcpkg\vcpkg install [packages to install]
```

다음과 같이 `search` 하위 명령어를 사용하여 필요한 라이브러리를 검색 할 수도 있습니다.

```cmd
> .\vcpkg\vcpkg search [search term]
```

Visual Studio에서 vcpkg를 사용하려면
다음 명령을 실행합니다 (관리자 권한이 필요할 수도 있습니다):

```cmd
> .\vcpkg\vcpkg integrate install
```


그런 다음, 이제 CMake가 아닌 새 프로젝트를 만들 수 있습니다. (또는 기존 프로젝트를 열 수 있습니다)
설치된 모든 라이브러리는 즉시 `# include` 될 준비가 되어 추가 구성없이 프로젝트에서 사용할 수 있습니다.

Visual Studio에서 CMake를 사용하는 경우,
[여기를 보세요](#visual-studio-code와-cmake-tools).

IDE 외부에서 CMake와 함께 vcpkg를 사용하려면,
툴체인 파일을 사용할 수 있습니다:

```cmd
> cmake -B [build directory] -S . -DCMAKE_TOOLCH
AIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake
> cmake --build [build directory]
```

CMake와 라이브러리를 사용하려면 `find_package` 등이 필요합니다.
IDE에서 CMake 사용에 대한 자세한 내용은 [CMake 섹션](#cmake와-함께-vcpkg-사용)을 확인하세요.


Visual Studio Code를 포함한 다른 툴의 경우
[통합 가이드][getting-started:integration]을 확인하세요.

## 빠르게 시작하기: 유닉스

Linux에서의 필요조건:
- [Git][getting-started:git]
- [g++][getting-started:linux-gcc] >= 6

macOS에서의 필요조건:
- [Apple Developer Tools][getting-started:macos-dev-tools]

첫번째로, vcpkg 자체를 다운로드하고 부트스트랩합니다; 어디에나 설치할 수 있습니다,
하지만 일반적으로 CMake 프로젝트의 하위 모듈로 vcpkg를 사용하는 것이 좋습니다.

```sh
$ git clone https://github.com/microsoft/vcpkg
$ ./vcpkg/bootstrap-vcpkg.sh
```

당신의 프로젝트에 라이브러리를 설치, 실행 시키려면 다음과 같이 작성하세요:

```sh
$ ./vcpkg/vcpkg install [packages to install]
```

다음과 같이 `search` 하위 명령어를 사용하여 필요한 라이브러리를 검색 할 수도 있습니다.

```sh
$ ./vcpkg/vcpkg search [search term]
```

CMake에서 vcpkg를 사용하려면 툴체인 파일을 사용할 수 있습니다
```sh
$ cmake -B [build directory] -S . -DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake
$ cmake --build [build directory]
```

CMake와 라이브러리를 사용하려면 `find_package` 등이 필요합니다.
CMake 및 CMake Tools for VSCode에서 vcpkg를 가장 잘 사용하는 방법에 대한 자세한 내용은 
[CMake 섹션](#cmake와-함께-vcpkg-사용)을 확인하세요.

다른 툴에 대해서는 [통합 가이드][getting-started:integration]을 확인하세요.
## 리눅스 개발자 도구 설치하기

리눅스의 다양한 배포판에는 설치해야되는 다양한 패키지가 있습니다:


- Debian, Ubuntu, popOS 및 기타 Debian 기반 배포판:

```sh
$ sudo apt-get update
$ sudo apt-get install build-essential tar curl zip unzip
```

- CentOS

```sh
$ sudo yum install centos-release-scl
$ sudo yum install devtoolset-7
$ scl enable devtoolset-7 bash
```

다른 배포판의 경우 g++ 6 이상의 버전을 설치해야합니다.
특정 배포판에 대한 지침을 추가하려면
[PR을 열어주세요][contributing:submit-pr]!

## macOS 개발자 도구 설치하기

macOS에서는 터미널에서 다음 명령어를 실행하기만 하면 됩니다.

```sh
$ xcode-select --install
```

그런 다음 나타나는 창에 나타나는 메시지를 따르세요.

그런다음 [빠른 시작 가이드](#빠르게-시작하기-유닉스)와 함께 vcpkg를 부트스트랩 할 수 있습니다.

## CMake와 함께 vcpkg 사용

CMake와 함께 vcpkg를 사용하는 경우, 다음과 같이 따라해 보세요

### Visual Studio Code와 CMake Tools

작업 공간 `settings.json` 파일에 다음을 추가하면
CMake 도구는 라이브러리에 자동으로 vcpkg를 사용합니다.

```json
{
  "cmake.configureSettings": {
    "CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake"
  }
}
```

### Visual Studio CMake 프로젝트와 Vcpkg

CMake 설정 편집기를 열고 'CMake toolchain file'에서
vcpkg 툴체인 파일에 경로를 추가합니다.

```
[vcpkg root]/scripts/buildsystems/vcpkg.cmake
```

### Vcpkg와 CLion

Toolchains settings을 엽니다.
(File > Settings on Windows and Linux, CLion > Preferences on macOS),
그리고 Cmake 세팅을 엽니다 (Build, Execution, Deployment > CMake).
마지막으로 `CMake options`에서 다음 줄을 추가합니다.

```
-DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake
```

각 프로필에 이것을 추가해야합니다.

### 서브모듈로서의 Vcpkg

프로젝트의 하위 모듈로 vcpkg를 사용하는 경우
cmake 호출에`CMAKE_TOOLCHAIN_FILE`을 전달하는 대신 첫 번째 `project ()` 호출 전에 CMakeLists.txt에 다음을 추가 할 수 있습니다.

```cmake
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake
  CACHE STRING "Vcpkg toolchain file")
```

이렇게 하면 `CMAKE_TOOLCHAIN_FILE`을 직접 전달하여 구성-빌드 단계가 약간 더 쉬워지지만 
사람들이 vcpkg를 사용하지 못하게 됩니다.

[getting-started:using-a-package]: docs/examples/installing-and-using-packages.md
[getting-started:integration]: docs/users/integration.md
[getting-started:git]: https://git-scm.com/downloads
[getting-started:cmake-tools]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools
[getting-started:linux-gcc]: #installing-linux-developer-tools
[getting-started:macos-dev-tools]: #installing-macos-developer-tools
[getting-started:macos-brew]: #installing-gcc-on-macos
[getting-started:macos-gcc]: #installing-gcc-on-macos
[getting-started:visual-studio]: https://visualstudio.microsoft.com/
[getting-started:manifest-spec]: docs/specifications/manifests.md

# 탭 완성/자동 완성

`vcpkg`는 powershell과 bash 모두에서 명령, 패키지 이름 및 옵션의 자동 완성을 지원합니다.
선택한 셸에서 탭 완성을 활성화하려면 다음 명령어를 실행합니다.

```pwsh
> .\vcpkg integrate powershell
```

혹은

```sh
$ ./vcpkg integrate bash
```

사용하는 셸에 따라 콘솔을 다시 시작세요.

# 예제

구체적인 연습은 [문서](docs/README.md)를 참고하세요,
including [패키지 설치 및 사용](docs/examples/installing-and-using-packages.md),
[zip 파일에서 새 패키지 추가](docs/examples/packaging-zipfiles.md),
및 [GitHub 저장소에서 새 패키지 추가](docs/examples/packaging-github-repos.md).

우리의 문서는 이제 웹사이트 https://vcpkg.io/ 에서도 온라인으로 사용할 수 있습니다. 모든 피드백에 진심으로 감사드립니다. https://github.com/vcpkg/vcpkg.github.io/issues 에서 이슈를 제출할 수 있습니다.

[4분짜리 데모 영상을 보세요](https://www.youtube.com/watch?v=y41WFKbQFTw).

# 기여

Vcpkg는 오픈소스 프로젝트입니다, 따라서 여러분의 기여로 만들어 졌습니다. 
기여할 수 있는 몇 가지 방법은 다음과 같습니다:

* vcpkg 또는 기존 패키지의 [문제 제출][contributing:submit-issue] 
* [수정 사항및 새 패키지 제출][contributing:submit-pr]

자세한 내용은 [컨트리뷰팅 가이드](CONTRIBUTING.md)를 참고하세요.

이 프로젝트는 [Microsoft Open Source Code of Conduct][contributing:coc]을 채택했습니다.
더 많은 정보를 얻고 싶다면 [Code of Conduct FAQ][contributing:coc-faq] 문서를 참고하거나 추가 질문 또는 의견은 이메일 [opencode@microsoft.com](mailto:opencode@microsoft.com)로 보내주세요.

[contributing:submit-issue]: https://github.com/microsoft/vcpkg/issues/new/choose
[contributing:submit-pr]: https://github.com/microsoft/vcpkg/pulls
[contributing:coc]: https://opensource.microsoft.com/codeofconduct/
[contributing:coc-faq]: https://opensource.microsoft.com/codeofconduct/

# 라이선스

이 저장소의 코드는 [MIT 라이선스](LICENSE.txt)에 따라 라이선스가 부여됩니다.

# 데이터 수집

vcpkg는 사용자 경험을 개선하는 데 도움이 되도록 사용 데이터를 수집합니다.
Microsoft는 이 정보를 익명으로 수집합니다.
다음을 통해 원격 측정을 옵트아웃 할 수 있습니다.
- -disableMetrics를 사용하여 bootstrap-vcpkg 스크립트 실행
- 명령줄에서 vcpkg에 --disable-metrics 전달
- VCPKG_DISABLE_METRICS 환경 변수 설정

docs/about/privacy.md에서 vcpkg 데이터 수집에 대해 자세히 알아보세요.
