Windowsでの環境構築
windowsはそのままC言語でプログラミングを行う環境を作るのが少し面倒なのでLinuxを使いましょう。
更新による不具合も報告されていて、データが消える可能性が無くはないので大事なデータやレポートはGoogle DriveやOne Driveにバックアップしておきましょう。回復ドライブを予め作成しておくという方法もあります。今年度の新入生で被害者が出たみたいです。やはりWindowsはクソ
作業の流れ
WindowsでWSL2を利用する準備を整える
WSL2で動くUbuntuをインストールする
Ubuntu上でC言語プログラミングに必要な環境を整える
手順
WindowsをWindows 10 ver.2004に更新する
「設定->更新とセキュリティ->Windows Update->OSビルド情報->Windowsの仕様->バージョン」が2004になっていることを確認。なっていなければ手動で更新してください。
Windowsの機能の有効化または無効化 を開き、「Linux用Windowsサブシステム」、「仮想マシンプラットフォーム」にチェックを入れる。
タスクバーの検索窓から検索したらすぐ設定画面が出てきます
https://gyazo.com/25759d4eed7b632300c41d5a8899ff2b
OKをクリックして、PCを再起動する
Power Shellを管理者権限で開く
スタートメニューのpowershellで右クリック->その他をクリック->管理者として実行をクリック
次のコマンドを実行する
[/ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart]
成功するとこんな出力が出てくる
https://gyazo.com/01076d8688b078fbe61cb4bee5aeee56
最後に次のコマンドを実行する
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
https://gyazo.com/d7ce129f10fe6b2dbfc23c0405c7580a
この画面になれば成功
これでWSL2のWindows側での準備は整ったので実際に動かすLinuxをインストールしていきます
Microsoft StoreからUbuntu 20.04 LTSをインストール
検索窓でLinuxと検索すると多分何個目かに出てくる
Ubuntuと名前の付くやつがいっぱいあって正直どれがどれか分からないので一応統一して20.04を使いましょう
Ubuntuは一番ポピュラーなLinux OSで、初心者でも上級者でも使える非常に良いOSとなっています
https://gyazo.com/b0ec7efa17b2e4f7c141b3dc100d9a99
インストールが完了して起動すると黒いコンソールが表示されてしばらくお待ちくださいと出てくる
(結構かかるので途中でやめないように注意、アカウントの設定に失敗すると非常に面倒くさい)
https://gyazo.com/1a5358b86445e70e2dc3018916fa2a41
しばらくするとアカウントの設定をしろといわれる。
これはLinux(今回の場合はUbuntu)を使う上でのユーザアカウントで、パスワードは管理者権限が必要な処理を行うときに入力することになるので忘れないようなものにしましょう。
(ちなみにターミナル上でパスワードの入力を求められる多くの場合は、コンピュータに大きな変更を加えることができる権限を与えることになります)
アカウント名を入力してEnterを押すとパスワードの入力になる。パスワードの設定の際は文字を入力しても画面には出力されないが実際には入力されているので注意(下のスクショでもちゃんと入力しています)。
https://gyazo.com/6d9c8708ed8fb48927efe5e93743bf7f
アカウントの設定が終わると以下のようなプロンプトが出てくる。
https://gyazo.com/c3eeb0fe19377a368249e06b10fdac69
続いて、Windows上で動作するLinuxカーネルをダウンロードします。
ダウンロードして実行すると次のようなセットアップウィザードが出てきます。
https://gyazo.com/eb9b4496374643c4785d4384bee249bd
この画面でNextをするとコンピュータに変更を加えるかどうか聞かれるので「はい」を選択します。
ウィザード画面で行うことはこれで終了なのでNextの位置にあったFinishを選択してこのウィンドウを閉じます。
今LinuxカーネルをダウンロードしてきたのでこのUbuntuをWSL2にバージョンアップします。
Windows PowerShellアプリを起動して、今のUbuntuがWSL1で動いていることを確認してください。(管理者権限は必要ないはずです)
確認するコマンドはwsl -l -vです。次のようにVersionの欄が1になっているはずです。
https://gyazo.com/f297d9b5655f149663a050ef65fb534d
次のコマンドを実行してください。(結構時間かかるので注意)
wsl --set-version Ubuntu-20.04 2
これを行うと今インストールしたUbuntuがWSL2で動くようになります。
https://gyazo.com/9dc163d514fc6189fc77252aba640e4d
終わったら、念のため変換が正常に行えたか確認してみましょう。
https://gyazo.com/3c37a1e08485afb6bacd8df1aa1de48b
最後にC言語に関わるソフトウェアをインストールします。(Linuxではソフトウェアのことをパッケージと呼ぶのでこれ以降パッケージと書く)
Ubuntuではパッケージのインストールは基本的にこのコンソールからテキストコマンドで行うことになります。
パッケージに関する作業は基本的にaptというコマンドで行います。
apt install hogeでhogeという名前のパッケージ(そんなものはない)をインストールできる。 apt installの次で指定するパッケージの名前は今使ってるUbuntuが知っているものでなければならない。つまり手元にインストールできるパッケージのリスト的な物があって、その中に書いてあるパッケージしかインストールできないことになっている。当然そのリストも日々更新されていくので、リスト更新用のコマンドapt updateがある。
インストールしたパッケージもしばらく経つと新しいバージョンが配布されていることがある。インストールしたパッケージは一つのコマンドapt upgradeを実行することで一斉にアップデートを確認して更新があればインストールすることができる。
Ubuntuのリポジトリの更新は結構早いので一日一回くらいapt updateして更新があればupgradeする、という癖をつけるとよいかもしれない
aptでパッケージに関わる作業をするのには管理者権限が必要とされるので、sudo apt ...としないとPermission deniedと表示されるだけになるでしょう。sudoは後に続くコマンドを管理者権限で実行するためのコマンドで、実行するとパスワードを聞かれます。設定したパスワードを入力して(設定時と同じで画面には入力した文字が表示されない)Enterを押せばそのまま実行されます。
インストール手順
次の3つのコマンドを順に打てばOK(途中でYesかNoが聞かれる場面があるのでよく読んでからyを入力してEnter)
sudo apt update
sudo apt upgrade
sudo apt install gcc micro
ここまでやれば環境構築は終了です、お疲れさまでした!