0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WindowsでGCCを使おう:MSYS2のインストールと設定方法

Posted at

Windows上でgccを使用するための環境として有名な「MSYS2」があります。
本稿では、MSYS2を用いてgccを利用可能にする手順を説明します。

1.MSYS2とは何か

主にWindows上でのビルド環境を提供することを目的としたツールとライブラリのコレクションです。Windows上でPosix互換(Unix,Linuxのような)のコマンドを提供し、ビルドなどの手段を提供してくれます。

2.MSYS2とWSL2の違い

単純にLinuxが使いたい、という要望であれば、昨今はWSL2を用いることで達成できます。
しかし、Windows環境ではMSYS2を使うことにも利点があります。
ここで、MSYS2とWSL2を比較してみます。

比較内容 MSYS2 WSL2
動作環境 Windows上で動作 仮想マシン上で動作
バイナリ Windowsネイティブのバイナリを使用 Linuxのバイナリを使用
コマンド Windows上でUnixコマンドを使用可能 仮想マシン上でLinuxコマンドを使用可能
開発環境 Windowsアプリケーションを開発可能 Linuxアプリケーションを開発可能
Posix互換性 POSIX互換を提供するが完全ではない 完全なPOSIX互換を提供する

つまり、
MSYS2はWindows上でUnixライクな環境を利用しつつ、Windows向けのプログラムを開発したい場合に有益です。
WSL2はWindows上でLinux環境をそのまま利用したい場合に有益です。

3.MSYS2を使用するメリット

Unix/Linux系でよく用いられるbashやautotoolsが使用できることが大きなメリットと考えます。
OSSのソースコードをビルドする際に頻繁に使用されるconfigureをWindows上で利用できるのは非常に有益です。

4.MSYS2のインストール

4.1.MSYS2をダウンロードする

次のサイトより、MSYS2のインストール媒体をダウンロードします

ページを開いて少し下にあるDownload the Installerの横のリンクをクリックし、ファイルをダウンロードします。(筆者がダウンロードした際のファイル名はmsys2-x86_64-20241116.exeでした)

スクリーンショット 2024-11-30 015219.png

4.2.MSYS2をインストールする

ダウンロードしたファイルをダブルクリックして実行します。

MSYS2 Setup 2024_11_30 1_54_45.png

「Next」ボタンを押下して次へ進みます。

MSYS2 Setup 2024_11_30 1_55_21.png

インストール先を変更する場合は「Browse」ボタンよりインストール先を指定します。
変更しない、または変更が完了したら「Next」ボタンを押下して次へ進みます。

注意:指定したフォルダに半角スペースが含まれると、使用中に不具合が発生する場合があります。

MSYS2 Setup 2024_11_30 1_55_31.png

スタートメニューの登録先を指定します。指定が完了したら「Next」ボタンを押下して次へ進みます。

MSYS2 Setup 2024_11_30 1_55_39.png

インストールが実行されます。

MSYS2 Setup 2024_11_30 1_57_01.png

インストールが完了しました。Run MSYS2 now.のチェックを外して、「Finish」ボタンを押下してください。ウィンドウが閉じ、インストールが終了します。

スクリーンショット 2024-11-30 045336.png

スタートメニューを開くと、5つのメニューが追加されています。

5.各シェルの違いについて

メニューが5つ追加されました。これはそれぞれ異なるシェルを起動するためのメニューになります。
ここでシェルの違いについて説明をしていきます。

シェル 概要 Windowsとのバイナリ互換
MSYS2 MSYS Unix向けソフトウェアのビルドに使用する なし
MSYS2 MINGW64 64Bit Windowsアプリケーションをgccでビルドするための環境 あり
MSYS2 UCRT64 Universal C Runtime(UCRT)を使用して64Bit Windowsアプリケーションをgccでビルドするための環境 あり
MSYS2 CLANG64 64Bit WindowsアプリケーションをClangでビルドするための環境 あり
MSYS2 CLANGARM64 ARM64(AArch64)アプリケーションをClangでビルドするための環境 ARM64版Windowsで動作

分かりやすくまとめると:
・Windowsのプログラムを作成するにはMINGW64、UCRT64、またはCLANG64を使用します。
・gccを使うならMINGW64またはUCRT64、Clangを使うならCLANG64を使用します。
・MINGW64は古いC++規格(C++11以前)の開発向き、UCRT64は新しいC++規格(C++11以降)の開発向きです。
となります。
本稿ではgccを使い、新しいC++を使用することを想定し、UCRT64を用います。
もし、他の環境が必要な場合、個人の用途に合わせて読み替えを行ってください。

6.gccのインストール

UCRT64の環境にgccをインストールします。(gcc向け、と定義されているのに、デフォルトでは入っていないのです…)
MSYS2 UCRT64のメニューを選択し、シェルを起動します。
~                                                   2024_11_30 5_13_30.png

MSYS2ではArch Linuxで使用されているpacmanというパッケージマネージャが使用でき、これを用いてアプリケーションのインストールを行います。(RHEL系のdnf、debian系のaptのようなツールです)

まず、パッケージデータベースを最新の情報にするため、次のコマンドを実行します

pacman -Syu

更新を確認するメッセージが表示されるのでYを入力しEnterキーで先にすすめてください。
もし、再起動を促すメッセージが表示された場合、一度シェルを閉じて開きなおし、上記のコマンドを再度実行してください。

2024_11_30 5_23_02.png

上記のような表示が出力され、更新が完了します。
今度は次のコマンドを実行し、gccをインストールします。

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

必要なツールチェーンをインストールしてよいか確認が表示されます。
Enterを押下して、インストールを実行します。

スクリーンショット 2024-11-30 052844.png

さらにパッケージのインストールを確認されるのでYを入力してEnterで処理を進めます。

スクリーンショット 2024-11-30 052858.png

パッケージのダウンロードとインストールが進みます。
特に問題が発生しなければインストールが完了します。

注意:筆者の環境では一度エラーが発生しましたが、再度コマンドを実行したところ正常にインストールが完了しました。

スクリーンショット 2024-11-30 053226.png

コマンドが正しくインストールできているか確認を行います。

gcc --version
g++ --version
make --version

スクリーンショット 2024-11-30 053258.png

コマンドが正常に実行され、バージョン情報が表示されればインストールは完了です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?