2021-05-25に更新

VSCode+WSL+CMake+GoogleTestでC++プログラミング環境を構築

2021/4/9追記
WSLにssh接続で入った方が色々変な事気にしないでいいんじゃない?
ということで、アップデートした記事を書きました。
こちらになります。
VSCode+WSL(ssh接続)+CMake+GoogleTestでC++プログラミング環境を構築

以下はアップデート前の記事です。


Windows10で掲題の環境を作成したのでメモ
サクッとやりたかった
次の機会にはサクッとできるはず

①まずは↓を見ながらVSCode&WSLでC/C++を使えるようにする

WSL+VSCODEで競技プログラミング環境構築

途中、

拡張機能がインストールできたら上部のメニューから「ファイル」->「フォルダーを開く」
から好きなフォルダーを開いてください。

と書かれているが、自分は好きなフォルダーじゃなくて、
WSLのrootfsディレクトリ以下を指定した
具体的にはUbuntu18.04なら以下

C:\Users\[ユーザー名]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

本当にマイドキュメントとか好きなフォルダにしたら、
gtest.hをincludeするときとかの補完機能がなんかアレとか、CMakelists.txtを書く時に全然アレとか、
とにかく無用な苦労をしたので・・・(だから「競技プログラミング」って書いてあったのかな)

②cmakeのインストール

sudo apt-get install cmake

おわり

③GoogleTestのインストール

cd
git clone https://github.com/google/googletest.git
cd googletest
mkdir build
cd build
cmake ..
sudo make install

ググると色んなインストール方法が出てくるが、自分が苦労なくできたのはこれだけだった
他はヒューマンのエラーが入る余地がありすぎる
特に最後のmake installはmakeだけやって手作業で.aとか.hをコピーしてる記事が多くてなんで?? ってなった

④C++のコード書く

さすがに省略

⑤GoogleTest使ってみたソースのCMakeLists.txt

cmake_minimum_required(VERSION 3.0)
project("hello_gtest")
add_executable(hello_gtest main.cpp)
target_link_libraries(hello_gtest
  PRIVATE
    gtest
    gmock
    pthread)

①②③あたりを上に書いた通りにやっておけば、includepathの指定とか特に何も書かないで
上の内容でビルド&実行できると思う
お疲れさまでした。次の⑥は読まなくていいです

⑥■■■■■■■■■■

仕事でどうしてもわかんないとこがあったが職場にいられる時間があまりなく、
しかたない、家でC++環境構築してやってみるか・・男の子なら自宅WindowsPCで
CやC++のコンパイル環境があるべきだよな・・・
と思ってとりかかったら、上記の環境設定だけで終わってしまった

何も考えず仮想PCにlinux入れてssh接続でやる方法ならむしろ確実だったが
「めんどい&重い&時間かかる」
というのはわかっていたので、他に軽い方法ないかとググったらMinGWを使う方法がいっぱいでてきた
このMinGWが無駄にした時間のほぼ全て
最初のapt-getに相当する部分でpacmanとか打ち込まされる時点で嫌な予感がして、
騙されたかなと思ってそれでもやってみたら騙された
MinGWってなんで今も存在してるんだろう・・・

WSLはすごい楽でした
ありがとうMicroSoft

ツイッターでシェア
みんなに共有、忘れないようにメモ

uskz

自分のために書いていきます

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント