C++용 패키지 관리자

Jay Shaw 2024년2월15일
  1. VC 패키지(vcpkg) - C++용 패키지 관리자
  2. C++용 Bpt 패키지 관리자
  3. 결론
C++용 패키지 관리자

복잡한 소프트웨어에는 시스템에 많은 종속성이 필요합니다. Python과 같은 컴파일러 언어에는 패키지를 관리하기 위한 pip가 있지만 C/C++용 패키지 관리자는 거의 들리지 않습니다.

이 문서에서는 C++용 패키지 관리자를 설치하고 구현하는 방법을 설명합니다.

VC 패키지(vcpkg) - C++용 패키지 관리자

종속성은 소프트웨어 시스템이 작동하도록 가상 환경 내에 유지되어야 하는 라이브러리 패키지에서 타사 라이브러리에 이르기까지 다양합니다.

이 기사의 첫 번째 C++용 패키지 관리자는 vcpkg입니다.

이 섹션에서는 Windows Visual Studio 2017에서 VC 패키지 관리자 라이브러리 관리자를 설치하고 사용하는 방법에 대해 설명합니다. VC 패키지는 원래 Windows 전용 Visual Studio용 패키지 관리자였습니다.

오늘날 VC 패키지는 크로스 플랫폼이며 Linux 및 Mac과 같은 OS에서 작동합니다.

이 패키지 관리자를 실행하려면 세 가지가 필요합니다.

  • 비주얼 스튜디오
  • 힘내
  • 파워셸

Visual Studio 2017 이상을 다운로드하여 설치합니다. 설치하는 동안 설치에 C++를 사용한 데스크톱 개발이 포함되어 있는지 확인해야 합니다.

C++로 데스크톱 개발

Visual Studio는 패키지가 코드로 로드되는 IDE(통합 개발 환경)입니다. C++ 라이브러리의 중앙 저장소가 없으므로 대부분 온라인에 흩어져 있습니다.

IDE를 설치한 후 Git을 시스템에 설치해야 합니다. GitHub에서 사용할 수 있는 수많은 패키지 배포에 사용되는 소프트웨어입니다.

Git은 여기에서 다운로드할 수 있습니다.

힘내 설치

첫 번째 설정 페이지에서 Windows 탐색기 통합에 대한 두 상자를 모두 선택했는지 확인하십시오. 이렇게 하면 Windows 탐색기의 모든 디렉터리에서 Git을 실행할 수 있습니다.

Git 설정

첫 페이지 이후에 Git 설치 프로그램에서 권장하는 모든 선택 항목을 사용하는 것이 좋습니다. 설치가 완료되면 커서를 마우스 오른쪽 버튼으로 클릭할 때마다 Git bash를 로드하는 옵션이 대화 상자 안에 나타납니다.

PowerShell 설치

PowerShell은 시스템 구성을 위해 만들어진 명령줄 프레임워크입니다. 복제 후 VC 패키지를 빌드하는 데 필요합니다.

PowerShell은 여기에서 다운로드할 수 있습니다. Msi 패키지는 자동 설치 프로그램이므로 다운로드하는 것이 좋습니다.

VC 패키지 설치

이를 실행할 수 있는 두 가지 방법이 있습니다.

  1. Git 리포지토리 복제

Git 리포지토리가 복제되면 리포지토리 내부와 유사하지만 필수 패키지만 포함된 로컬 시스템 내부에 디렉토리가 생성됩니다. 그런 다음 패키지는 PowerShell을 사용하여 시스템 내부에 빌드됩니다.

vcpkg 리포지토리를 복제하려면 GitHub 웹 페이지에서 HTTPS 링크를 복사합니다.

vcpkg https 복제

링크를 복사한 후 C 드라이브에 dev 또는 src 폴더를 만들고 디렉터리 내부를 마우스 오른쪽 버튼으로 클릭하고 PowerShell 7 > 여기에서 관리자로 열기를 클릭하여 디렉터리를 복제합니다.

해당 디렉터리 내에서 PowerShell 명령 프롬프트가 열립니다. 그 안에 다음 명령을 작성하십시오.

git clone https://github.com/microsoft/vcpkg.git

위의 명령은 C 드라이브 내부에 생성한 dev 폴더 내부에 VC 패키지를 복제합니다. 복제가 완료되면 다음을 입력하여 복제된 디렉토리 내부로 이동합니다.

cd cvpkg
Note
복제된 디렉토리의 이름은 다운로드 시간 및 특성과 관련하여 변경될 수 있습니다. 명령을 입력하기 전에 C:\dev 드라이브 내부의 실제 이름을 확인하십시오.
  1. 아카이브 추출

이 방법을 사용하려면 GitHub 웹 페이지에서 아카이브를 다운로드하고 C 드라이브의 dev 폴더에 콘텐츠를 수동으로 추출해야 합니다. 아카이브가 추출되면 디렉터리 내부로 이동하여 마우스 오른쪽 버튼을 클릭하고 관리자 권한으로 PowerShell을 엽니다.

위의 두 가지 방법 중 어떤 방법을 따르든 디렉토리 생성 후 단계는 동일합니다.

디렉토리 내에서 시스템은 패키지를 빌드해야 합니다. 이것은 PowerShell을 사용하여 빌더를 부트스트래핑하여 수행됩니다.

.\bootstrap-vcpkg.bat

아래 명령은 Visual Studio에서 사용할 수 있는 VC 패키지의 모든 라이브러리를 만듭니다.

.\vcpkg integrate install

이 시점에서 VC 패키지가 시스템에 설치됩니다.

이제 sql3과 같은 특정 라이브러리가 필요한 경우 다음을 사용하여 확인할 수 있습니다.

.\vcpkg search sqlite3

검색된 패키지가 있으면 화면에 표시됩니다.

powershell 검색 sqlite3

패키지를 설치하려면 다음 명령을 입력하십시오.

.\vcpkg install sqlite3

기본적으로 VC 패키지는 32비트 버전의 라이브러리를 설치합니다. 64비트를 설치하려면 다음 명령을 사용하십시오.

.\vcpkg install sqlite3:x64-windows

Visual Studio에서 설치된 라이브러리 사용

C++ 빈 프로젝트를 생성하여 시작하고 콘솔 하위 시스템 옵션을 활성화합니다.

콘솔 하위 시스템을 활성화하려면 솔루션 탐색기 내에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다. 속성 내에서 왼쪽 패널의 링커 > 시스템으로 이동합니다.

하위 시스템은 첫 번째 옵션으로 찾을 수 있습니다.

하위 시스템 콘솔 옵션

이제 VC 패키지를 사용하여 라이브러리를 로드하고 Visual Studio 내에서 사용할 수 있습니다. 가져온 패키지가 제대로 작동하는지 확인하기 위해 C++로 SQL 프로그램을 작성해 봅시다.

#include <sqlite3.h>

#include <iostream>

int main() {
  sqlite3* db;
  int fd = sqlite3_open("mydb.db", &db);

  if (fd == SQLITE_OK) {
    std::cout << "Success opening the database.\n";
  } else {
    std::cerr << "Error:\n";
    std::cerr << sqlite3_errmsg(db) << '\n';
    exit(1);
  }

  sqlite3_close(db);
}

출력:

Success opening the database.

C:\Users\Win 10\source\repos\testsqlite3\x64\Debug\testsqlite3.exe (process 14648) exited with code 0.
Press any key to close this window . . .

C++용 Bpt 패키지 관리자

C/C++용 또 다른 패키지 관리자는 GitHub 및 Bpt 웹 사이트에서 사용할 수 있는 빌드 및 패키징 도구입니다. 이 패키지 관리자의 설치는 vcpkg와 유사하지만 IDE에서 실행할 수 없습니다. 독립적으로 실행해야 합니다.

Bpt 패키지 관리자 설치

Bpt는 GitHub에서 복제하거나 여기에서 설치 프로그램을 다운로드할 수 있습니다.

Bpt는 독립 실행형 애플리케이션이므로 시스템 내부에 구축할 필요가 없습니다. 그러나 실행 파일은 Windows의 사용자 경로에 있어야 합니다.

Bpt를 파일 경로에 추가하려면 .exe 파일을 C:\ 드라이브의 디렉터리로 이동하고, 가급적 C:\dev\bpt와 같은 하위 디렉터리로 이동하고 이 파일 경로를 사용자 변수에 붙여넣습니다. 환경 시스템 변수에서.

사용자 변수로 이동하려면 이 PC Windows 10 이상을 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭합니다. 새 창에서 고급 시스템 설정>환경 변수로 이동합니다.

고급 시스템 설정

환경 변수 내에서 상단 사용자 변수 섹션의 경로를 선택하고 편집...을 클릭합니다.

환경 변수 - 편집

마지막으로 새로 만들기를 클릭하고 파일 경로를 붙여넣은 다음 열려 있는 모든 대화 상자에서 확인을 클릭합니다.

환경 변수 - 새로 추가

올바르게 수행하면 Bpt가 사용자 변수에 추가되고 명령 프롬프트에서 액세스할 수 있습니다. 확인하려면 다음 명령을 작성하십시오.

bpt --help

Bpt에 대한 명령 목록이 표시됩니다.

Hello World 프로그램 만들기

bpt new 명령을 사용하여 매우 간단한 프로젝트를 생성할 수 있습니다.

bpt new hello-bpt

bpt에서 몇 가지 질문을 합니다. 당분간은 기본값을 사용하십시오.

이렇게 하면 hello-bpt/라는 새 디렉터리와 hello-bpt라는 새 프로젝트가 생성됩니다. bpt new는 기본적으로 프로젝트 자체와 동일한 이름을 공유하는 하위 디렉터리에 프로젝트를 생성합니다.

Bpt는 새 프로젝트 디렉터리 내에 src/ 디렉터리와 bpt.yaml 파일을 생성합니다. 또한 헤더와 소스를 분할하기로 결정한 경우 include/ 디렉토리를 생성합니다.

프로젝트의 정보는 bpt.yaml 파일에 선언되며 Bpt는 이 파일을 사용하여 프로젝트를 생성, 패키징, 테스트 및 배포합니다.

프로젝트의 소스 코드는 src/(및 include/) 하위 디렉토리에 보관됩니다. 최상위 디렉터리의 중첩된 하위 디렉터리를 포함하여 이러한 디렉터리에 소스 파일을 추가하면 Bpt가 이를 찾아 컴파일합니다.

src/include/ 디렉토리는 소스 루트입니다.

프로그램의 진입점 만들기

우리 프로젝트에 소스 파일을 추가하려면 적절한 파일 확장자를 가진 파일을 소스 루트에 생성해야 합니다. 이 예에서는 소스 파일이 소스 루트 root>/src/에 추가됩니다.

또한 프로그램을 개발하고자 하므로 소스 파일에 애플리케이션의 진입점 역할을 하는 main() 함수가 포함되어 있음을 표시해야 합니다. 이렇게 하려면 파일 확장자에 .main을 추가하십시오.

  • <root>/src/hello-app.main.cpp와 같은 파일을 생성하고 그 안에 코드를 넣습니다.
#include <iostream>

int main() { std::cout << "Build Complete" }

프로그램 컴파일

Bpt는 프로그램을 컴파일하기 위한 프로그래밍 툴체인을 자세히 설명합니다. Bpt의 몇 가지 내장된 도구 모음 선택 항목은 즉시 사용할 수 있으며 우리의 필요에 맞게 작동할 것입니다.

프로그램이 GCC를 사용하여 컴파일된 경우 도구 체인 이름은 gcc이고 프로그램이 각각 Clang 및 Microsoft Visual C++를 사용하여 컴파일된 경우 도구 체인 이름: clangmsvc를 사용해야 합니다.

아래 예시와 같이 bpt build 명령을 실행하여 툴체인에 적절한 툴체인 이름을 사용하여 빌드를 수행합니다.

bpt build -t :gcc

모든 것이 계획대로 진행되면 Bpt는 컴파일 및 링크 절차에 대한 세부 정보를 내보내고 깔끔하게 종료합니다.

빌드 결과의 기본 위치는 패키지 루트 아래의 _build라는 디렉토리입니다. 이 디렉토리에는 hello-app(Windows의 경우 .exe 접미사 포함)라는 이름의 실행 파일이 포함되어 있습니다.

실행 파일을 실행하면 출력이 표시됩니다.

> ./_build/hello-app
Build Complete

결론

이 기사에서는 두 가지 유명한 C++ 패키지 관리자인 vcpkg 및 Bpt에 대해 설명합니다. 이 기사를 읽은 후 독자는 이러한 패키지 관리자를 쉽게 다운로드, 설치 및 구성할 수 있습니다.