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 で動作します。

このパッケージ マネージャーを実行するには、次の 3つが必要です。

  • ビジュアルスタジオ
  • ギット
  • パワーシェル

Visual Studio 2017 以降をダウンロードしてインストールします。 インストール中、インストールには C++ を使用したデスクトップ開発 が含まれていることに注意する必要があり、それを確認する必要があります。

C++ を使用したデスクトップ開発

Visual Studio は、パッケージがコードに読み込まれる統合開発環境 (IDE) です。 C++ ライブラリの中央リポジトリがないため、ほとんどがオンラインに散らばっています。

IDE をインストールしたら、Git をシステムにインストールする必要があります。 GitHub で利用可能な多数のパッケージの配布に使用されるソフトウェアです。

Git は こちら からダウンロードできます。

Git をインストールする

最初のセットアップ ページで、Windows エクスプローラー統合の両方のボックスにチェックを入れてください。 これにより、Windows エクスプローラーの任意のディレクトリから Git を実行できるようになります。

Git セットアップ

最初のページの後に、Git インストーラーから推奨されるすべての選択肢を使用することは有益です。 インストールが完了すると、カーソルを右クリックするたびに Git bash をロードするオプションがダイアログ ボックス内に表示されます。

PowerShell をインストールする

PowerShell は、システムを構成するために作成されたコマンド ライン フレームワークです。 クローン作成後に VC パッケージをビルドするために必要です。

PowerShell は こちら からダウンロードできます。 自動インストーラーであるため、Msi パッケージをダウンロードすることをお勧めします。

VC パッケージのインストール

これを実行するには、次の 2つの方法があります。

  1. Git リポジトリのクローンを作成する

Git リポジトリが複製されると、ローカル システム内に、リポジトリ内のディレクトリと同様のディレクトリが作成されますが、必要なパッケージのみが含まれます。 その後、パッケージは PowerShell を使用してシステム内に構築されます。

vcpkg リポジトリのクローンを作成するには、GitHub Web ページ から 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 Web ページからアーカイブをダウンロードし、内容を手動で C ドライブの dev フォルダーに抽出する必要があります。 アーカイブが抽出されたら、ディレクトリ内に移動して右クリックし、管理者として PowerShell を開きます。

上記の 2つの方法のどちらを使用しても、ディレクトリを作成した後の手順は同じです。

ディレクトリ内で、システムはパッケージをビルドする必要があります。 これは、PowerShell を使用してビルダーをブートストラップすることによって行われます。

.\bootstrap-vcpkg.bat

次のコマンドは、VC パッケージのすべてのライブラリを Visual Studio で使用できるようにします。

.\vcpkg integrate install

この時点で、VC パッケージがマシンにインストールされます。

現在、sql3 などの特定のライブラリが必要な場合は、次を使用して確認できます。

.\vcpkg search sqlite3

検索されたパッケージが利用可能な場合は、画面に表示されます。

powershell 検索 sqlite3

パッケージをインストールするには、次のコマンドを入力します。

.\vcpkg install sqlite3

デフォルトでは、VC Package は 32 ビット バージョンのライブラリをインストールします。 64 ビットをインストールするには、次のコマンドを使用します。

.\vcpkg install sqlite3:x64-windows

インストールされたライブラリを Visual Studio から使用する

C++ の空のプロジェクトを作成することから始め、コンソール サブシステム オプションを有効にします。

コンソール サブシステムを有効にするには、ソリューション エクスプローラー内のプロジェクトを右クリックし、[プロパティ] をクリックします。 プロパティ内で、左側のパネルの linker > system に移動します。

サブシステムは、最初のオプションとして見つかります。

サブシステム コンソール オプション

VC パッケージを使用してライブラリをロードし、Visual Studio 内で使用できるようになりました。 インポートしたパッケージが正常に動作するかどうかを確認する SQL プログラムを C++ で作成してみましょう。

#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++ 用のもう 1つのパッケージ マネージャーは、GitHub および Bpt Web サイトで入手できるビルドおよびパッケージ化ツールです。 このパッケージ マネージャーのインストールは vcpkg に似ていますが、IDE では実行できません。 独立して実行する必要があります。

Bpt パッケージ マネージャーをインストールする

Bpt は GitHub から複製するか、そのインストーラーを こちら からダウンロードできます。

Bpt はスタンドアロン アプリケーションであるため、システム内に構築する必要はありません。 ただし、その実行可能ファイルは、Windows のユーザー パス内に配置する必要があります。

Bpt をファイル パスに追加するには、.exe ファイルを C:\ ドライブのディレクトリに移動します。できれば C:\dev\bpt のようなサブディレクトリに移動し、このファイル パスをユーザー変数に貼り付けます。 環境システム変数で。

ユーザー変数に移動するには、[この PC Windows 10 以降] を右クリックし、[プロパティ] をクリックします。 新しいウィンドウ内で、Advanced System Setting>Environment Variables に移動します。

Adv システム設定

環境変数内で、上部のユーザー変数セクションのパスを選択し、編集...をクリックします

環境変数 - 編集

最後に、[新規] をクリックし、ファイル パスを貼り付けて、開いているすべてのダイアログ ボックスで [OK] をクリックします。

環境変数 - 新規追加

正しく行われると、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 がプロジェクトの作成、パッケージ化、テスト、および配布に使用する bpt.yaml ファイルで宣言されます。

プロジェクトのソース コードは、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++ を使用してコンパイルされている場合は、ツールチェーン名: clang および msvc を使用する必要があります。

ツールチェーンに適切なツールチェーン名を使用して、以下の例に示すように bpt build コマンドを実行してビルドを実行します。

bpt build -t :gcc

すべてが計画どおりに進むと、Bpt はコンパイルとリンクの手順に関する詳細を出力し、正常に終了します。

ビルド結果のデフォルトの場所は、パッケージ ルートの下の _build というディレクトリです。 このディレクトリには、hello-app という名前の実行可能ファイルが含まれています (Windows の場合は、.exe サフィックスが付いています)。

実行可能ファイルを実行すると、出力が表示されます。

> ./_build/hello-app
Build Complete

まとめ

この記事では、2つの有名な C++ パッケージ マネージャー、vcpkg と Bpt について説明します。 この記事を読んだ後、読者はこれらのパッケージ マネージャーを簡単にダウンロード、インストール、および構成できます。