■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]
# 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実行が可能。
■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]
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を実行しないとしないと生成されない点注意。
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]
[サンプル]
■参考リンク
[参考リンク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