こんにちは! mnbd(@mnbbbbbd)です。
C++の勉強をしてて、MSYS2環境下でGoogle Testの使いたい。
でもインストールがうまくできないんだけど、どうしたらいいでしょう?
Google Testをインストールしたい場合、githubからソースコードを取ってきてビルドしますが、MSYS2環境下ではうまくいきません。
ここではその原因と対処法をご説明いたします。
本記事には、以下のことを知ることができます。
- MSYS2環境下でC++のGoogle Testをインストールする方法
対処法のみをお知りになりたい方は、目次より手順にお進みください。
前提
- MSYS2とC++の環境設定ができていること
- MSYS2でパッケージを管理するpacmanについて知っていること
原因は?
MSYS2環境でGoogle Testをビルド&インストールする場合、githubからソースコードを取得してくるのが一般的です。
しかし現在(2021/02/23)では、この方法で単純にビルドできません。
ソースコードを解凍し、buildディレクトリを作り、その中で、cmakeとmakeコマンドを実行しますが、makeコマンドの実行時に以下のようなエラーがでます。
$ make $ mingw32-make: *** No targets specified and no makefile found. Stop.
対処法
MSYS2では、Google Testのパッケージを提供していて、本家ではなく、こちらを使うことで解決できます。
MSYS2のパッケージ管理ソフトのpacmanを使用することで簡単にインストールできます。
以下のコマンドを実行してください。
$ pacman -S mingw-w64-x86_64-gtest
本家の方法ですと、VSCodeなどに自前でヘッダファイルのパスを設定する必要がありますが、こちらの方法ですと、通常のMSYS2環境にヘッダファイルが含まれますので、Google Testのために設定する必要はありません。
ただ、ソースコードに#includeとして設定すればオッケーです。
動作確認は以下のページを参考にしてみてください。
補足
Windowsでプログラミング環境を構築する場合、いくつかの種類があります。
たとえば、gitをMSYS2で使用する場合です。
Windowsにインストーラーでインストールしてパスを通すことで使用できますが、pacmanからもインストール可能です。
またこうしたいくつかの手段を混在させてMSYS2で使用することもできます。
私はgitを混在させて使ってしまって、アップデート後に動かなくなってしまったことがありました。
gitそのものの難解さもありますが、対処法がわからず、結果的に一から環境構築した苦い思い出があります。
それ以来、私はなるべくMSYS2のページの確認やpacmanを使用するようにしています。
何かとハマりやすいWindowsでのプログラミング環境ですので、気をつけていきたいところです。
以下の記事なども参考にしてみてください。
まとめ
MSYS2でGoogle Testの環境設定をする方法をご説明いたしました。
以上です。
読んでいただきありがとうございました!