vcpkgでC/C++ライブラリを簡単に導入しよう

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

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

目次

vcpkgを導入するメリット

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

vcpkgを利用すると、これらの厄介な作業はツールが自動で行ってくれるため、ライブラリを簡単に導入することができます。

開発者はプログラミングに集中できるため、開発効率の向上に繋がります。

vcpkgのインストール

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

前提条件としてGitがインストールされている必要があります。インストールされていない場合は、以下の記事を参考にインストールしてください。

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

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

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

ローカルリポジトリはクローンを実行したディレクトリに作成されます。事前にvcpkgをインストールしたいディレクトリへ移動しましょう。

Windowsでサポートされているパス長はデフォルトで260文字までという制限があるため、Cドライブ直下などの短いパスでクローンを行うことを推奨します。

実行ファイルを生成

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

cd vcpkg
bootstrap-vcpkg.bat

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

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

vcpkgの基本操作

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

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

vcpkg search [<部分文字列>]

部分文字列を指定することで一致するライブラリのみを表示することができます。指定しない場合は利用可能なライブラリが全て表示されます。

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

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

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

vcpkg install <パッケージ名>

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

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

vcpkg list [<部分文字列>]

部分文字列を指定することで一致するライブラリのみを表示することができます。指定しない場合はインストールしたライブラリが全て表示されます。

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

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

vcpkg remove <パッケージ名>

ターゲット環境の指定

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

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

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

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

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

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

Visual Studioから利用

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

vcpkg integrate install

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

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

CMakeから利用

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

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

これによって、find_package()find_path()find_library()から検索できるようになります。

vcpkg.cmakeへのパスを環境変数に設定しておくと便利です。

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

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

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

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

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

外部リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次