VSCodeを使用してWSL上のC/C++開発環境を構築する。ここではCMake+makeおよびCMake+Ninjaでビルドする環境をそれぞれ構築する。
WSLおよびUbuntuをインストールする
WindowsにWSLおよびUbuntuをインストールする方法はこちらなどを参考に実施してください。
VSCodeおよびRemote-WSL拡張をインストールする
VSCodeおよびWSL上のUbuntuに接続するためのRemote-WSL拡張をインストールする。
VSCodeをScoopでインストールする
Scoopをこちらに従ってインストールする。
VSCodeを以下のコマンドでインストールする。
scoop bucket add extras
scoop install vscode
VSCodeを起動してRemote-WSL拡張をインストールする
スタートメニューなどからVSCodeを起動して以下のようにRemote-WSL拡張をインストールする。
VSCodeでWSLに接続してC/C++関連の拡張をインストールする
VSCodeでWSL上のUbuntuに接続する
左下の緑色のボタンを選択する。
Remote-WSL: XXXといったリストが表示されるので「Remote-WSL: New Window」を選択する。
新しいVSCodeが起動し、左下の緑色のボタンにWSL:[Ubuntuをインストール時に付けたディストリビューション名]が表示される。
C/C++関連の拡張をインストールする
VSCodeのアクティビティバーで拡張機能アイコンを選択する。
以下の拡張機能をインストールする。
- C/C++
- CMake
- CMake Tools
C++のHello worldをビルドする
ここでは簡単なHello worldのプログラムを作成しビルドする。
ディレクトリ構成
以下のような構成とする。
buildディレクトリはビルド時に自動で生成される(CMake Toolsの設定による)。
hello
|-- CMakeLists.txt
|-- src
|-- main.cpp
|--build // ビルド時に自動で生成される
cmake+make+gccでビルドする
gccとcmakeをインストールする
Terminalを開いてgccおよびcmakeをインストールする。
ついでにデバッグ用にgdbもインストールしておく。
sudo apt install build-essential
sudo apt install gdb
sudo apt install cmake
プロジェクト(作業用フォルダ)を作成する
Terminalで作業用のディレクトリを作成する。
mkdir hello
メニューの「File」->「Open Folder」を選択する。
作成したhelloフォルダ選択して「OK」を選択する。
main.cppを作成する
helloフォルダの下にsrcフォルダを作成する。
その下にmain.cppファイルを作成する。
#include <iostream>
using namespace std;
int main(){
cout << "Hello world." << endl;
return 0;
}
CMakeLists.txtを作成する
helloフォルダの下にCMakeLists.txtファイルを作成する。
cmake_minimum_required(VERSION 3.10)
project(hello_world)
add_executable(app src/main.cpp)
settings.jsonを編集する
settings.jsonを開きmakeの設定を行う。
※Ninjaをインストールしていなければ特に設定しなくてもよい。
{
"cmake.generator": "Unix Makefiles",
"cmake.configureSettings": {
"CMAKE_MAKE_PROGRAM": "/usr/bin/make"
}
}
ビルドを実行する
下記のボタンを順次押下してビルドおよび実行を行う。
- CMake [Debug] : CMake:Configure
- Build : CMake:Build(make)
- 三角ボタン : バイナリの実行
cmake+ninja+gccでビルドする
Ninjaをインストールする
Terminalを開いてNinjaをインストールする。
sudo apt install build-ninja
settings.jsonを編集する
settings.jsonを開いてninjaの設定をする。
{
"cmake.generator": "Ninja",
"cmake.configureSettings": {
"CMAKE_MAKE_PROGRAM": "/usr/bin/ninja"
}
}
ビルドを実行する
既にMakeでmakeしておりbuildフォルダが生成されている場合はbuildフォルダを削除する。
makeの場合と同様にVSCode下部のボタンを順次押下してビルドする。
VSCodeのsetting.jsonを開く
VSCodeの設定ファイルであるsettings.jsonは以下の手順で開くことができる。
まず、アクティビティバーの管理アイコンを選択してSettingsを選択する。
User / Remote / Workspace のいずれかのタブを選択して、右上の「Open Settings」アイコンを選択するとsettings.jsonを開くことができる。
User / Remote / Workspaceは以下のような違いがある。
プロジェクトに応じて設定を変えたい場合など適宜設定ファイルを選択するとよい。
- User : VSCode全体(Windows/Ubuntuで共通)の設定
- C:Users/[windows-username]/AppData/Roaming/Code/User 以下に保存される
- Remote : Ubuntu全体の設定
- /home/[ubuntu-username]/.vscode-server 以下に保存される
- Workspace : プロジェクト(フォルダ)単位での設定
- [作成したフォルダ]/.vscode 以下に作成される
以上でVSCodeを用いてWSL上でのC/C++開発環境を構築することができた。
コメント