新人・まず試したい人向け最小環境構築
C言語を初めて学ぶ新人や、Windows 11 のPCでC言語を一度動かしてみたい人向けに、最小限の開発環境を作ります。
この記事のゴールは、VS CodeでCのプログラムを書き、Hello, World! を表示することです。
この記事では、Ubuntu、Windows Terminal、Visual Studio Code、VS Codeの拡張機能はすべて最新の安定版を使用します。
画面の表示やボタン名は更新により少し変わる場合がありますが、インストール、入手、開く などの表示に従えば問題ありません。
この記事で作るのは、C言語の学習や簡単な動作確認を始めるための環境です。
業務で使用する場合は、会社やお客様から指定された開発環境、コンパイラ、コーディング規約を優先してください。
使用するもの
| 役割 | 使用するもの |
|---|---|
| Windows上でLinuxを使うための機能 | WSL |
| Linux環境 | Ubuntu |
| コマンドを入力するアプリ | Windows Terminal |
| エディタ | Visual Studio Code |
| Cコンパイラ | GCC |
それぞれの役割は次のとおりです。
- WSL:Windows上でUbuntuなどのLinuxを使えるようにする機能
- Ubuntu:Linuxの一種
- Windows Terminal:PowerShellやUbuntuを開くアプリ
- Visual Studio Code:Cのソースコードを書くエディタ
- GCC:Cのソースコードを実行できるプログラムへ変換するコンパイラ
全体の構成
Windows 11
├─ Visual Studio Code
│ ├─ WSL 拡張機能
│ └─ C/C++ 拡張機能
└─ WSL
└─ Ubuntu
└─ GCC
VS CodeはWindows側にインストールします。
CコンパイラのGCCはUbuntu側にインストールします。
VS CodeのWSL拡張機能を使うことで、WindowsのVS CodeでCのコードを書きながら、UbuntuのGCCでコンパイルと実行ができます。
1. Microsoft StoreからUbuntuをインストールする
スタートメニューから Microsoft Store を開きます。
検索欄に Ubuntu と入力し、Ubuntuを選択します。
次のページから開いても問題ありません。
インストール または 入手 を選択します。
Ubuntuのインストールが完了したら、次の手順へ進みます。
2. Microsoft StoreからWindows Terminalをインストールする
続けてMicrosoft Storeで Windows Terminal を検索します。
次のページから開いても問題ありません。
インストール または 入手 を選択します。
Windows Terminalは、PowerShell、コマンドプロンプト、Ubuntuなどを1つのアプリで開けるアプリです。
今回はUbuntuでコマンドを入力するために使用します。
3. Ubuntuを起動してWSLをインストールする
スタートメニューで Ubuntu と検索し、Ubuntuを起動します。
初回起動時に、次のようなメッセージが表示されることがあります。
Linux 用 Windows サブシステムがインストールされていません
表示された場合は、画面内の インストール を選択します。
Microsoft Storeが開いた場合は、入手 または インストール を選択します。
インストール後、再起動を求められた場合はPCを再起動してください。
再起動後、もう一度Ubuntuを起動します。
会社支給PCなどでWSLのインストールに失敗する場合は、PCの管理者権限や利用制限が原因の可能性があります。
自分で設定を変更せず、PCの管理者または社内の担当者へ確認してください。
4. Ubuntuの初回設定を行う
WSLのインストールが終わると、Ubuntuの初回設定画面が表示されます。
最初に、Ubuntu内で使うユーザー名を設定します。
Enter new UNIX username:
半角英数字でユーザー名を入力して、Enterを押します。
続けて、パスワードを設定します。
New password:
Retype new password:
パスワードを2回入力します。
パスワード入力中は、文字や * は表示されません。
入力されていないわけではないため、そのまま入力してEnterを押してください。
設定が終わり、次のような表示になればUbuntuを使える状態です。
ユーザー名@PC名:~$
5. Windows TerminalでUbuntuを開く
スタートメニューで Windows Terminal と検索し、起動します。
最初はPowerShellが開くことがあります。
画面上部の ▼ を選択し、一覧から Ubuntu を選択します。
次のように表示されれば、UbuntuをWindows Terminalで開けています。
ユーザー名@PC名:~$
以後、Ubuntu用のコマンドはこの画面で実行します。
6. 学習用フォルダーを作成する
Windows Terminalで開いたUbuntuに、次のコマンドを入力してEnterを押します。
mkdir -p ~/c-study
このコマンドにより、Ubuntu内に c-study フォルダーが作成されます。
今後作成するCのソースコードは、このフォルダーに保存します。
7. Microsoft StoreからVisual Studio Codeをインストールする
Microsoft Storeを開き、検索欄に次を入力します。
Visual Studio Code
Microsoftが提供している Visual Studio Code を選択します。
インストール または 入手 を選択し、インストールが完了したら 開く を選択します。
8. VS CodeにWSL拡張機能を入れる
VS Code左側のメニューから、拡張機能アイコンを選択します。
ショートカットキーでも開けます。
Ctrl + Shift + X
検索欄に次を入力します。
WSL
Microsoftが提供している WSL 拡張機能を選択し、インストール を選択します。
この拡張機能により、WindowsのVS CodeからUbuntu上のフォルダーを開けます。
9. VS CodeをUbuntuに接続する
VS Code左下にある、青色または緑色の接続アイコンを選択します。
表示されたメニューから、次を選択します。
WSL: Connect to WSL
Ubuntuの選択画面が表示された場合は、Ubuntu を選択します。
少し待つと、VS CodeがUbuntuに接続されます。
VS Code左下に次のような表示が出ていれば成功です。
WSL: Ubuntu
Ubuntuのバージョンによっては、次のように表示されることもあります。
WSL: Ubuntu-24.04
VS CodeはWindowsにインストールされていますが、ここから開くフォルダーとターミナルはUbuntu側の環境として動きます。
10. 学習用フォルダーをVS Codeで開く
VS Code上部のメニューから、次を選択します。
ファイル → フォルダーを開く
フォルダー選択画面が開いたら、次の場所を開きます。
/home/ユーザー名/c-study
ユーザー名 は、Ubuntuの初回設定で作成したユーザー名に置き換えてください。
フォルダーを選択したら、OK または フォルダーの選択 を選択します。
フォルダーの信頼に関する確認が出た場合は、自分で作成したフォルダーなので はい、作成者を信頼します を選択します。
11. VS CodeにC/C++拡張機能を入れる
VS Code左下に WSL: Ubuntu と表示されていることを確認します。
左側の拡張機能アイコンを選択します。
Ctrl + Shift + X
検索欄に次を入力します。
C/C++
Microsoftが提供している C/C++ 拡張機能を選択します。
次のようなボタンが表示された場合は、選択します。
Install in WSL: Ubuntu
この拡張機能により、Cのコードで次の機能を使えます。
- 色分け
- 入力補完
- 関数や変数の情報表示
- 基本的なエラー確認
C/C++ 拡張機能は、Cプログラムを実行するためのコンパイラではありません。
Cプログラムのコンパイルには、次の手順でUbuntuにインストールするGCCを使用します。
12. GCCをUbuntuにインストールする
VS Code上部のメニューから、次を選択します。
ターミナル → 新しいターミナル
画面下部にターミナルが開きます。
次のような表示であれば、Ubuntuのターミナルを開けています。
ユーザー名@PC名:~/c-study$
sudoで権限エラーが出た場合
sudo apt update または sudo apt install -y gcc を実行したとき、次のようなエラーが表示される場合があります。
<ユーザー名> is not in the sudoers file.
これは、現在のUbuntuユーザーに管理者権限が付いていない状態です。
VS Codeの統合ターミナルではなく、Windows側のPowerShellで権限を追加します。
1. Windows TerminalでPowerShellを開く
Windows Terminal上部の ▼ を選択し、PowerShell を選択します。
2. Ubuntuの名前を確認する
PowerShellで次を実行します。
wsl -l -v
通常は Ubuntu と表示されます。
Ubuntu-24.04 などと表示された場合は、以降の Ubuntu を実際に表示された名前に置き換えてください。
3. rootユーザーでUbuntuを起動する
PowerShellで次を実行します。
wsl -d Ubuntu -u root
4. 普段使うUbuntuユーザー名を確認する
rootで起動したUbuntuで、次を実行します。
ls /home
例えば次のように表示された場合、ユーザー名は taro です。
taro
5. sudo権限を付与する
<ユーザー名> を、確認した名前に置き換えて実行します。
usermod -aG sudo <ユーザー名>
例:
usermod -aG sudo taro
Ubuntuの初回設定時に作ったパスワードが分からない場合は、続けて新しいパスワードを設定します。
passwd <ユーザー名>
例:
passwd taro
パスワード入力中は文字が表示されません。入力されているため、そのまま確認を含めて2回入力してください。
6. WSLを再起動する
rootで起動したUbuntuを閉じます。
exit
PowerShellに戻り、次を実行します。
wsl --shutdown
wsl --shutdown は、起動中のすべてのWSL環境を終了します。ほかのWSL環境で作業中の場合は、保存してから実行してください。
UbuntuまたはVS Codeを開き直し、次を実行します。
sudo -v
パスワード入力後にエラーが出なければ、sudo権限の設定は完了です。
sudo: command not found と表示された場合
sudo 自体が入っていない状態です。rootで起動したUbuntuで、次を実行します。
apt update
apt install -y sudo
usermod -aG sudo <ユーザー名>
実行後は、上記と同様に wsl --shutdown でWSLを再起動します。
社内プロキシ環境でaptが使えない場合
会社のネットワークで、プロキシサーバーを経由しないとインターネットへ接続できない場合があります。
sudo apt update を実行したとき、次のようなエラーが表示される場合は、プロキシ設定が必要な可能性があります。
Could not connect to ...
Connection timed out
407 Proxy Authentication Required
プロキシサーバー名、ポート番号、認証の有無は会社ごとに異なります。
まず、社内の担当者へ次の内容を確認してください。
- プロキシサーバー名
- ポート番号
- プロキシのURL形式(
http://またはhttps://) - プロキシ認証の有無
- 証明書の追加が必要か
この設定を行うには sudo 権限が必要です。
sudo で権限エラーが出る場合は、上にある「sudoで権限エラーが出た場合」を先に実施してください。
1. APT用のプロキシ設定ファイルを作成する
プロキシサーバー名とポート番号が proxy.example.local:8080 の場合、次を実行します。
sudo tee /etc/apt/apt.conf.d/80proxy > /dev/null <<'EOF'
Acquire::http::Proxy "http://proxy.example.local:8080/";
Acquire::https::Proxy "http://proxy.example.local:8080/";
EOF
proxy.example.local:8080 は、会社から指定されたプロキシサーバー名とポート番号に置き換えてください。
プロキシのURLが https:// で指定されている場合は、指定どおりに https:// を使用してください。
2. APTの接続を確認する
次を実行します。
sudo apt update
パッケージ情報の取得が始まれば、プロキシ設定は完了です。
続けて、GCCをインストールします。
sudo apt install -y gcc
3. プロキシ設定を削除する
自宅など、プロキシを使わないネットワークへ移動して apt が使えなくなった場合は、次を実行します。
sudo rm /etc/apt/apt.conf.d/80proxy
削除後、次を実行して確認します。
sudo apt update
407 Proxy Authentication Required と表示された場合
プロキシサーバーがユーザー名とパスワードによる認証を求めています。
認証方式にはBasic認証、NTLM認証、統合Windows認証などがあり、必要な設定は会社のネットワーク構成によって異なります。
個人のパスワードを、記事、ソースコード、共有フォルダー、チャットへそのまま記載しないでください。
社内の担当者へ、次の内容を確認してください。
WSL上のUbuntuでaptを使用するためのプロキシ設定を確認したいです。
プロキシサーバー名、ポート番号、認証方式、WSLで使用する設定方法、
および社内証明書の追加要否を教えてください。
証明書エラーが出る場合
次のようなエラーが表示される場合は、会社のプロキシが通信内容を検査しており、Ubuntu側へ社内証明書の追加が必要な可能性があります。
Certificate verification failed
The certificate is NOT trusted
証明書ファイルと導入手順は会社ごとに異なります。
証明書の検証を無効にする設定は安全ではないため、行わないでください。社内の担当者から証明書ファイルと手順を受け取り、指定された方法で追加してください。
最初に、Ubuntuのパッケージ情報を更新します。
sudo apt update
途中でパスワードを求められた場合は、Ubuntuの初回設定で作成したパスワードを入力します。
続けて、GCCをインストールします。
sudo apt install -y gcc
インストールが終わったら、次のコマンドで確認します。
gcc --version
GCCのバージョン情報が表示されれば、Cコンパイラの準備は完了です。
13. Hello Worldのプログラムを作成する
VS Code左側のエクスプローラーで、新しいファイルを作成します。
ファイル名は次のとおりです。
hello.c
作成した hello.c に、次のコードを書きます。
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}
書き終わったら保存します。
Ctrl + S
14. コンパイルして実行する
VS Code下部の統合ターミナルで、次のコマンドを入力してEnterを押します。
gcc -Wall -Wextra -std=c17 hello.c -o hello
エラーや警告が表示されなければ、コンパイル成功です。
続けて、次のコマンドを入力してEnterを押します。
./hello
次のように表示されれば、Cプログラムの実行まで完了です。
Hello, World!
コンパイルコマンドの意味
実行したコマンドは、次のとおりです。
gcc -Wall -Wextra -std=c17 hello.c -o hello
| 指定 | 意味 |
|---|---|
gcc |
Cコンパイラを実行する |
-Wall |
基本的な警告を表示する |
-Wextra |
追加の警告を表示する |
-std=c17 |
C17規格としてコンパイルする |
hello.c |
コンパイルするCファイル |
-o hello |
作成する実行ファイル名を hello にする |
学習中は、毎回次の指定を付けてコンパイルします。
-Wall -Wextra -std=c17
エラーではなく警告でも、そのまま進めずに原因を確認します。
作成されたファイル
コンパイル後、フォルダー内は次の状態になります。
c-study
├── hello.c
└── hello
hello.c は、作成したCのソースコードです。
hello は、GCCが作成した実行ファイルです。
これらのファイルはWindowsの C:\Users\... ではなく、Ubuntu側の次の場所に保存されています。
/home/ユーザー名/c-study
よくある問題
Ubuntuを起動すると「Linux 用 Windows サブシステムがインストールされていません」と表示される
画面内の インストール を選択します。
インストール後、Ubuntuをもう一度起動してください。
再起動を求められた場合は、PCを再起動します。
sudo 実行時に権限エラーが出る
次のようなエラーが表示される場合があります。
<ユーザー名> is not in the sudoers file.
現在のUbuntuユーザーに管理者権限が付いていません。
「12. GCCをUbuntuにインストールする」にある「sudoで権限エラーが出た場合」を開き、rootユーザーから sudo グループへ追加してください。
プロキシ環境で sudo apt update または sudo apt install -y gcc が失敗する
社内ネットワークでプロキシサーバーを使用している可能性があります。
「12. GCCをUbuntuにインストールする」にある「社内プロキシ環境でaptが使えない場合」を開き、会社から指定されたプロキシサーバー名とポート番号を設定してください。
407 Proxy Authentication Required や証明書エラーが出る場合は、認証方式や社内証明書の設定が必要です。社内の担当者へ確認してください。
gcc: command not found と表示される
GCCがインストールされていません。
VS Codeの統合ターミナルで、次を実行します。
sudo apt update
sudo apt install -y gcc
sudo 実行時に権限エラーが出る場合は、「12. GCCをUbuntuにインストールする」にある「sudoで権限エラーが出た場合」を開いて設定してください。
VS Code左下に WSL: Ubuntu と表示されない
VS CodeがUbuntuに接続されていない状態です。
VS Code左下の接続アイコンを選択し、次を選びます。
WSL: Connect to WSL
Ubuntuに接続してから、/home/ユーザー名/c-study を開いてください。
./hello: No such file or directory と表示される
コンパイルに失敗しているか、現在開いているフォルダーが違う可能性があります。
ターミナルで、次を実行します。
ls
hello.c と hello が表示されることを確認してください。
hello が表示されたら、次を実行します。
./hello
完了確認
次のすべてを満たしていれば、C言語を学び始める環境は完成です。
- Microsoft StoreからUbuntuをインストールした
- Microsoft StoreからWindows Terminalをインストールした
- Ubuntuの初回設定が完了した
- VS CodeにWSL拡張機能を入れた
- VS Code左下に
WSL: Ubuntuと表示されている - C/C++拡張機能をUbuntu側へ入れた
-
gcc --versionでGCCのバージョン情報が表示される -
./helloでHello, World!が表示される