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++ を使用したデスクトップ開発
が含まれていることに注意する必要があり、それを確認する必要があります。
Visual Studio は、パッケージがコードに読み込まれる統合開発環境 (IDE) です。 C++ ライブラリの中央リポジトリがないため、ほとんどがオンラインに散らばっています。
IDE をインストールしたら、Git をシステムにインストールする必要があります。 GitHub で利用可能な多数のパッケージの配布に使用されるソフトウェアです。
Git は こちら からダウンロードできます。
Git をインストールする
最初のセットアップ ページで、Windows エクスプローラー統合の両方のボックスにチェックを入れてください。 これにより、Windows エクスプローラーの任意のディレクトリから Git を実行できるようになります。
最初のページの後に、Git インストーラーから推奨されるすべての選択肢を使用することは有益です。 インストールが完了すると、カーソルを右クリックするたびに Git bash をロードするオプションがダイアログ ボックス内に表示されます。
PowerShell をインストールする
PowerShell は、システムを構成するために作成されたコマンド ライン フレームワークです。 クローン作成後に VC パッケージをビルドするために必要です。
PowerShell は こちら からダウンロードできます。 自動インストーラーであるため、Msi
パッケージをダウンロードすることをお勧めします。
VC パッケージのインストール
これを実行するには、次の 2つの方法があります。
- Git リポジトリのクローンを作成する
Git リポジトリが複製されると、ローカル システム内に、リポジトリ内のディレクトリと同様のディレクトリが作成されますが、必要なパッケージのみが含まれます。 その後、パッケージは PowerShell を使用してシステム内に構築されます。
vcpkg
リポジトリのクローンを作成するには、GitHub Web ページ から HTTPS リンクをコピーします。
リンクをコピーした後、C
ドライブにフォルダー dev
または src
を作成し、ディレクトリ内を右クリックして [PowerShell 7] > [管理者としてここを開く] をクリックしてディレクトリを複製します。
そのディレクトリ内で PowerShell コマンド プロンプトが開きます。 その中に、次のコマンドを記述します。
git clone https://github.com/microsoft/vcpkg.git
上記のコマンドは、C
ドライブ内に作成した dev
フォルダー内に VC パッケージを複製します。 複製が完了したら、次のように入力して、複製されたディレクトリ内に入ります。
cd cvpkg
C:\dev
ドライブ内の実際の名前を確認してください。- アーカイブを抽出する
この方法では、GitHub Web ページからアーカイブをダウンロードし、内容を手動で C
ドライブの dev
フォルダーに抽出する必要があります。 アーカイブが抽出されたら、ディレクトリ内に移動して右クリックし、管理者として PowerShell を開きます。
上記の 2つの方法のどちらを使用しても、ディレクトリを作成した後の手順は同じです。
ディレクトリ内で、システムはパッケージをビルドする必要があります。 これは、PowerShell を使用してビルダーをブートストラップすることによって行われます。
.\bootstrap-vcpkg.bat
次のコマンドは、VC パッケージのすべてのライブラリを Visual Studio で使用できるようにします。
.\vcpkg integrate install
この時点で、VC パッケージがマシンにインストールされます。
現在、sql3 などの特定のライブラリが必要な場合は、次を使用して確認できます。
.\vcpkg search 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
に移動します。
環境変数内で、上部のユーザー変数
セクションのパスを選択し、編集...
をクリックします
最後に、[新規] をクリックし、ファイル パスを貼り付けて、開いているすべてのダイアログ ボックスで [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 について説明します。 この記事を読んだ後、読者はこれらのパッケージ マネージャーを簡単にダウンロード、インストール、および構成できます。