Windows 11にC言語の開発環境を構築する【MSYS2+VSCode】
最近C言語開発に手を出し始めたので開発環境を整えてみました。
ビルド環境は UCRT64 (MSYS2) 、エディタは VSCode という構成で行きます。
Windows 環境での C/C++ 開発と言えば Visual Studio のイメージが強いんですけど、MinGW や WSL 上で gcc を動かすことも多いみたいなのでそっちで行ってみます。
MSYS2 をインストール
公式サイトからインストーラをダウンロードしてインストールします。パスなどはデフォのままで大丈夫です。
MSYS2 で使える環境一覧
MSYS2 をインストールすると5つの環境が使えるようになります。それぞれ、コンパイラ/リンカ、アーキテクチャ、ライブラリ群などが違うので自分が使いたいやつを選びます。
名前 | インストール先 | コンパイラ/リンカ | アーキテクチャ | Cライブラリ | C++ライブラリ |
---|---|---|---|---|---|
MSYS | /usr |
gcc | x86_64 | cygwin | libstdc++ |
UCRT64 | /ucrt64 |
gcc | x86_64 | ucrt | libstdc++ |
CLANG64 | /clang64 |
llvm | x86_64 | ucrt | libc++ |
CLANGARM64 | /clangarm64 |
llvm | aarch64 | ucrt | libc++ |
MINGW64 | /mingw64 |
gcc | x86_64 | msvcrt | libstdc++ |
「gcc と llvm の違い」や「ucrt と msvcrt の違い」などは公式サイトに詳しく書かれているので気になる方は見てみてください。初心者の自分にはよく分かりません、、
今回は、gcc + ucrt の組み合わせである UCRT64 を使うことにします。よく分からない場合は UCRT64 を使えと公式にも書いてあるので、とりあえず UCRT64 を選んでおけば良いと思います。
必要なツールをインストール
実際に gcc などを使うためにはインストールする必要があるのでしていきます。
スタートメニューを開くと「MSYS2」というフォルダの中に「MSYS2 UCRT64」というのがあるのでそれを開きます。
次のコマンドを入力して Enter
を押します。途中で確認を求められたら y
で進みます。
$ pacman -S mingw-w64-ucrt-x86_64-gcc
パスを通す
gcc
コマンドがPSなどのターミナルからでも使えるように C:\msys64\ucrt64\bin
にパスを通しておきます。
gcc --version
を実行してエラーが出なければインストールは完了です!
VSCode の設定
VSCode にこれをインストールしておきます。
Hello, World.
適当なフォルダに移動し、次のコマンドを順に実行します。エクスプローラーから作ってもOKです。
$ mkdir helloworld
$ cd helloworld
$ code .
次の内容のファイルを helloworld.c
という名前で作成します。
#include <stdio.h>
int main()
{
puts("Hello, World.");
return 0;
}
IntelliSense の設定
このままだとおそらくエラーが出ていると思います。これは、IntelliSense (コード補完機能) が設定されておらず、ヘッダファイルなどを VSCode が読み込めていないためです。
Ctrl + Shift + P
を押してコマンドパレットを開きます。「IntelliSense 構成を選択...」を選んで Enter
を押します。
次に「gcc.exeを使用する」を選びます。もし自動で出てこなかったら、その下の「コンピューター上の別のコンパイラを選択...」を選んで手動で指定します。
そうすると無事エラーが消えて、入力補完や引数情報などの便利な機能が使えるはずです!
実行
最後に実行です。右上の再生マークの横をクリックし「C/C++ ファイルの実行」を選択します。
コンパイラを選択すると、ビルドが始まり実行結果がターミナルに表示されます。
成功🎉
お疲れさまでした!
割と自己流なところが多いのでおかしいところとかあったら教えてください!!
Discussion