あさりのみそしるダイアリー

言いたいことを言える世の中の方がいいよね(´・ω・`)

vcpkg ことはじめ

一年の計は元旦にあり

ということで、今年からプログラミングを始めてみようかなと思う方もいるのでは?

私がプログラミングをはじめたころは、ツールもマシンパワーも貧弱で、情報も少なく、特にWindowsで何かを開発しようという場合に、なかなか苦労したものですが、今はオープンソース界隈の賑わいもあって、かなり始めやすくなっているように感じます。

 

個人利用ならば、開発環境として Visual Studio Community が無料でマイクロソフトから提供されていますし、C++で開発するのに使いたい便利なライブラリも「vcpkg」でカンタンに導入できます。

実は最近、新しいタブレットPCを買ったのですが、これにvcpkgを新規インストールすることになったので、せっかくなのでと手順をメモってみました。

 

docs.microsoft.com

 

だいたい上のページに書いてあるとおりですが、そもそも「vcpkg」というのは、Windows/Linux/macOSで使うことができる、オープンソースのC++ライブラリ管理ツールです。Ubuntu(Linux)の開発で使うaptとか、nodeJSならnpm、Pythonならpip、それらに相当するようなものです。

 

vcpkgを使うと、導入までにかなり手順を踏むライブラリ(ceresとか)が、PowerShellからいくつかのコマンドを入力するだけで使えるようになります。

 

以下、手順です。

 

1. vcpkg 一式をGitリポジトリからクローンする

vcpkgは、マイクロソフトがGithub上でソースコード一式を公開しています。

github.com

 

vcpkgを適当なフォルダにクローンしましょう。

なお、Git関連のツールや、CMake、Visual Studio Community + 英語言語パック + C++開発環境はすでに入っているものとする!

https://github.com/Microsoft/vcpkg#quick-start-windows

 

PowerShellを起動し、vcpkgの導入先フォルダ上(ここでは、C:\lib )で以下のコマンドを実行。

cd C:\lib

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

 

 

2. vcpkg.exe をビルド

クローンしたvcpkgフォルダ以下に、bootstrap-vcpkg.bat があるので、これを実行して「vcpkg.exe」をビルドします。

 

.\bootstrap-vcpkg.bat

(LinuxやmacOSの場合は、./bootstrap-vcpkg.sh)

 

終わるまで待つと、vcpkgフォルダ内に「vcpkg.exe」が生成されます。

今後、この実行ファイルとvcpkgフォルダを使って、各種ライブラリのインストールや管理などを行っていきます。

 

 

3. Visual Studio で vcpkg から導入したライブラリを扱いやすくする

これは任意の作業ですが、Visual Studio Community や Visual Studio Code を使って開発をする場合、以下のコマンドを実行しておくと、Visual Studio Community などで C++アプリケーションを開発する際に、vcpkgで導入したライブラリが扱いやすくなります。

インクルードパスなどを指定する手間が省けるということです。

 

.\vcpkg.exe integrate install

 

 

以上です。

ここでは、vcpkgのパスを通していないので、適当な場所からPowerShellを使ってvcpkg.exeを実行することはできませんが、ま、その辺はパスを通すだけなのでご自由にって感じですかね。

個人的には、あえてパスを通す必要性もそこまでなく、ライブラリを追加する必要があるなら、vcpkgフォルダ上であえてやるかなーみたいな。

100%信用しているわけでもないので、できるだけ無用なエラーに悩まされない方法をとりたいというだけで、特に根拠もないです。

 

ただ、これでいろんなライブラリが扱いやすくなるのも事実です。

Linux(Ubuntu)やmacOSで、あえてvcpkgを使ってライブラリを管理するメリットがどれだけのものなのかは私もよく理解していないので分かりませんが、少なくともWindows上でVisual Studioを使ったC++アプリケーション開発をする際の一助にはなるかと思います。

 

今回は、特に応用的な例も、vcpkgそのものの扱い方も書かず、あくまでvcpkgのインストールのみの手順だけ書きました。 

今後、ちょいちょい便利なライブラリを使ったプログラミングについて記事にする際、vcpkgでライブラリを導入することになるかと思いますが、その際の手順のリファレンスとして書いてみました。

 

おわり。