はじめに
この記事では、Windows上でWSL2(Ubuntu)とVSCodeをインストールし、言語の開発環境を構築する手順をわかりやすく説明します。個人的な備忘録としてまとめましたが、同様の環境を構築したい方の参考にもなると思います。
WSL2のインストール
-
Windows PowerShellを管理者として実行
- まず、Windows PowerShellを管理者権限で起動します。スタートメニューから「Windows PowerShell」を検索し、アイコンを右クリックして「管理者として実行」を選択します。
-
WSL2のインストール
- 次に、以下のコマンドをPowerShellに入力し、WSL2をインストールします。この作業には少し時間がかかることがありますので、完了するまで待ちましょう。
wsl --install
- インストールが完了すると、再起動が求められる場合があります。その場合は指示に従ってPCを再起動してください。
C/C++の環境設定
Ubuntuのアップデート
WSL2上でUbuntuを初めて起動した後は、まずシステムのアップデートを行います。最新の状態にしておくことで、後々の作業がスムーズになります。以下のコマンドを順に実行してください。
sudo apt update
sudo apt upgrade
- 途中でパスワードの入力が求められることがありますので、インストール時に設定したパスワードを入力してください。また、「Do you want to continue? [Y/n]」と表示された場合は、[Y]キーを押して進めてください。
build-essentialのインストール
-
build-essentialのインストール
- C/C++プログラムのコンパイルに必要なツールを一括でインストールするため、以下のコマンドを実行します。これにより、
gcc
やg++
、make
などのツールが自動的にインストールされます。
sudo apt install build-essential
- C/C++プログラムのコンパイルに必要なツールを一括でインストールするため、以下のコマンドを実行します。これにより、
-
gccのインストール確認
- インストールが完了したら、以下のコマンドで
gcc
が正しくインストールされているかを確認します。バージョン情報(例:gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
)が表示されれば成功です。
gcc --version
- インストールが完了したら、以下のコマンドで
C/C++プログラムの実行
Cプログラムの実行
-
作業ディレクトリの作成
- まず、C言語のプログラムを保存するディレクトリを以下のコマンドで作成します。
mkdir workspace
-
ディレクトリに移動
- 作成したディレクトリに移動します。
cd workspace
-
Cファイルの作成
- 以下のコマンドで、Cプログラムを保存するためのファイルを作成します。
touch test.c
-
プログラムの編集
-
vi test.c
コマンドでファイルを開き、以下のコードを入力します。このプログラムは、Hello, World!
と表示する簡単なCプログラムです。
#include <stdio.h> int main() { printf("Hello, World!\n"); }
-
vi
コマンドの代わりに、VSCodeで編集することも可能です(後述のVSCodeとの連携を参照)。
-
-
コンパイル
- 以下のコマンドでプログラムをコンパイルします。成功すると、
test.c
と同じディレクトリにa.out
という実行ファイルが生成されます。
gcc test.c
- 以下のコマンドでプログラムをコンパイルします。成功すると、
-
プログラムの実行
- 最後に、以下のコマンドでプログラムを実行します。ターミナルに
Hello, World!
と表示されれば成功です。
./a.out
- 最後に、以下のコマンドでプログラムを実行します。ターミナルに
VSCodeとの連携
Ubuntu上からのVSCode起動
Ubuntu上で任意のディレクトリを開いた状態で、以下のコマンドを実行すると、VSCodeがそのディレクトリを開きます。
code .
- VSCode上でターミナルを起動するには、表示タブから「ターミナル」を選択します。
まとめ
この記事では、Windows上でWSL2(Ubuntu)とVSCodeを使用してC言語の開発環境を構築する手順を説明しました。これにより、Windows環境でもLinuxの利便性を活かしたCプログラミングが可能になります。WSL2とVSCodeの組み合わせは、軽量で効率的な開発環境を提供し、さまざまなプログラミング言語やツールの学習にも適しています。
これからの開発に役立てていただければ幸いです。