0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WindowsでGoogleTestする備忘録

Last updated at Posted at 2023-07-29

■C言語コンパイラの準備

C言語をコンパイルするために必要なツールをインストールする。
[参考リンク*1]

  • VSCodeインストール
  • C/C++の拡張インストール
  • Mingwインストール

Mingwインストールは、MSYS2でlcovの準備➄を実施でもOK

■CMakeの準備

  • CMakeインストール
    makefileを作成するためのツール、CMakeをインストールする。
    VSCodeの拡張「CMake」と「CMake Tools」をアドインする。
    [参考リンク*2]

  • CMakeの CMakeLists.txt 作成方法
    例 main.cをbuildして 実行ファイルtest_sampleを生成する。
    [参考リンク*3]
    [参考リンク*4]

CMakeLists.txt
# CMakeのバージョンを設定
cmake_minimum_required(VERSION 3.23)

# プロジェクト名と使用する言語を設定
project(cmake_sample C)

#GDBのオプション
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0")

#build
add_executable(test_sample main.c)

# gcov実施
target_compile_options(test_sample PUBLIC -coverage)
target_link_options(test_sample PUBLIC -coverage)
  • CMakeの実行
    下記コマンドでbuildできる。MinGWでbuildする指定をすることがポイント。
cmake -G "MinGW Makefiles" -B build . #./buildフォルダにmakefile作成
cmake --build build           #./buildフォルダでbuildを実行
  • VSCodeでCMakeの実行
    プロジェクト内にCMakeLists.txtがあればCMakeを起動できる。下記順でBuild実行が可能。

image.png

■lcovの準備

lcovをインストールするためにはMSYS2経由でパッケージインストールが必要。

  • MSYS2のインストール
    MSYS2をインストール。https://www.msys2.org/
    migw64をインストール済なので、インストールフォルダはmingw64の親フォルダを指定する。

  • lcovをインストール
    下記の順でインストールする。先にインストールしているmingwと整合が取れない場合は、⑤で再度mingwをインストールする。
    ①パッケージをインストール。https://github.com/msys2/MINGW-packages/
    ②msys2の homeに解凍した一式を置く
    ③MSYS2(migw64の)を起動してcdで「mingw-w64-lcov」まで移動
    ④makepkg -csi
    ⑤エラーが出る場合は
     \mingw64配下をすべて削除して、下記手順でmingw64をインストールしなおして再度④を実施
    [参考リンク*5]

MSYS2 MINGW64 コマンド
 pacman -Syuu
 pacman -S base-devel
 pacman -S mingw-w64-x86_64-toolchain
 pacman -S mingw-w64-x86_64-autotools
  • lcovを実行
    MSYS2 MINGW64を起動し、CMakeでBuildした結果から出力されるgcovファイル(.gcov,.gcda等)と同階層まで移動し下記を実行するとindex.htmlファイルが生成される。gcdaファイルは、Build後exeを実行しないとしないと生成されない点注意。
MSYS2 MINGW64 コマンド
lcov -c -d . -o cmake_sample.info
genhtml cmake_sample.info

■GoogleTestの準備

下記手順でGoogleTestを準備する。
①GoogleTestをGithubからダウンロードし解凍 https://github.com/google/googletest
②Vscode起動してCmakeでbuild
③生成されたライブラリをGoogleTest/googleMockとして使用する。ヘッダ含め \mingw64配下に配置する。(プロジェクト内にgoogletestを組み込んで、都度Build、ライブラリ生成する場合は③不要。)
④VSCodeの拡張「GoogleTest Adapter」をアドインする。
[参考リンク*6]
[サンプル]

image.png

■参考リンク

[参考リンク1]:https://mtkbirdman.com/windows-visual-studio-code-c-fortran-mingw
[参考リンク
2]:https://mtkbirdman.com/windows-visual-studio-code-cmake-install
[参考リンク3]:https://qiita.com/shohirose/items/45fb49c6b429e8b204ac
[参考リンク
4]:https://qiita.com/tapitapi/items/799886b076b38bc7446e
[参考リンク5]:https://superactionshootinggame4.hatenablog.com/entry/2019/12/16/155649
[参考リンク
6]:https://developer.mamezou-tech.com/blogs/2022/11/04/google-test-01/
[サンプル1]:https://github.com/Titan365/cmake_sample_001
[サンプル2]:https://github.com/Titan365/cmake_googletest_sample_001

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?