Skip to main content

KTDEVX

vcpkgを使用してWindowsでC/C++ライブラリを簡単にインストールする

vcpkgとは、Microsoftが提供するC/C++ライブラリ向けのパッケージ管理システムです。

ここでは、vcpkgを使用してC/C++ライブラリを導入する方法について解説します。

# vcpkgを導入するメリット

通常、WindowsでOSSのライブラリを利用する場合、ビルドや依存関係の解決は自分で行わなければなりません。ライブラリの構成が複雑だと、導入するだけでもかなりの時間を要してしまいます。

vcpkgを利用すると、これらの厄介な作業はツールが自動で行ってくれるため、ライブラリを簡単にインストールすることができます。開発者はプログラミングに集中できるため、開発効率の向上に繋がります。

# vcpkgのインストール

vcpkgをインストールするには、ソースコード一式をダウンロードして実行ファイルを生成する必要があります。難しそうに感じますが、インストールは2ステップで完了するためとても簡単です。

## ソースコード一式をダウンロード

vcpkgのソースコードはGitHubで公開されています。Gitを使用し、GitHubからvcpkgのリポジトリをクローンします。

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

ローカルリポジトリはクローンを実行したディレクトリに作成されます。事前にvcpkgをインストールしたいディレクトリへ移動しましょう。Cドライブ直下などの短いパスでクローンすることを推奨します。

## 実行ファイルを生成

ローカルリポジトリの中に、bootstrap-vcpkg.batという名前のバッチファイルが格納されています。実行ファイルの生成はバッチファイルが自動で行なってくれます。

cd vcpkg
bootstrap-vcpkg.bat

vcpkg.exeという名前の実行ファイルがローカルリポジトリ内に生成されていれば、vcpkgのインストールは完了です。

実行ファイルへのパスを環境変数に設定しておくと、任意のディレクトリから呼び出せるため便利です。

# vcpkgの基本操作

## 利用可能なライブラリを検索

vcpkg searchコマンドで利用可能なライブラリを検索します。

vcpkg search [<パッケージ名>]

パッケージ名を指定することで一致するライブラリのみを表示することができます。指定しない場合は利用可能なライブラリが全て表示されます。

利用可能なライブラリは、パッケージ一覧から検索することも可能です。

## ライブラリのインストール

vcpkg installコマンドでライブラリをインストールします。

vcpkg install <パッケージ名>

## インストールしたライブラリを表示

インストールしたライブラリは、vcpkg listコマンドで表示できます。

vcpkg list [<パッケージ名>]

パッケージ名を指定することで一致するライブラリのみを表示することができます。指定しない場合はインストールしたライブラリが全て表示されます。

## ライブラリのアンインストール

vcpkg removeコマンドでライブラリのアンインストールが行えます。

vcpkg remove <パッケージ名>

# ターゲット環境の指定

vcpkgはクロスコンパイルの仕組みを提供しています。

tripletオプションを利用することで、任意の環境で動作するライブラリのインストールや、アンインストールが行えます。

tripletとはターゲット環境を表す文字列です。CPUやOS、ライブラリのリンク方法などを指定することができます。

vcpkg install <パッケージ名> --triplet=<ターゲット環境>
vcpkg install <パッケージ名>:<ターゲット環境>

対応しているターゲット環境は、vcpkg help tripletで確認できます。

# インストールしたライブラリの利用

## Visual Studioから利用

vcpkg integrateコマンドで、vcpkgでインストールしたライブラリをVisual Studioから利用できます。

vcpkg integrate install

これによって、インクルードディレクトリやライブラリディレクトリ、ライブラリが自動でVisual Studioに追加されます。

Visual Studioでプロジェクトを開き、プロパティからtripletの設定をすることでターゲット環境を変更できます。

Visual Studioプロパティページ

## CMakeから利用

CMakeでCMAKE_TOOLCHAIN_FILE変数にvcpkg.cmakeへのパスを設定することで、vcpkgでインストールしたライブラリをCMakeから利用できます。

cmake [<プロジェクトへのパス>] -D CMAKE_TOOLCHAIN_FILE=<vcpkgへのパス>/scripts/buildsystems/vcpkg.cmake

これによって、CMakeからライブラリを検索できるようになります。

ターゲット環境はVCPKG_TARGET_TRIPLET変数を設定することで変更できます。

cmake [<プロジェクトへのパス>] -D VCPKG_TARGET_TRIPLET=<ターゲット環境> -D CMAKE_TOOLCHAIN_FILE=<vcpkg.cmakeへのパス>

## その他の開発環境から利用

インストールしたライブラリはvcpkg/installed/<ターゲット環境>ディレクトリに格納されています。

利用する側でパスを適切に指定することでvcpkgでインストールしたライブラリを利用できます。

# 外部リンク