2022/08/23(火) [n年前の日記]
#1 [prog][windows] Windows10にMinGWをインストールし直した
Windows10 x64 21H2上で、MinGW + msys (msys2 + MinGW-w64に非ず)を再インストールしてみた。インストール直後の状態で、スクリーンセーバをビルドできるのかどうかが気になったので…。
MinGW (MinGW が正しい表記らしい) + msys というのは、Windows上で、CコンパイラやC++コンパイラを使えるようにしてくれるツール群、という説明で合っているのだろうか。とにかく、コイツをインストールすれば、gcc という有名なCコンパイラが無料で使えるようになる。
_MinGW - Wikipedia
MinGW は32bit版プログラムの生成しか対応してないので、今時は msys2 + MinGW-w64 という、64bit対応の環境が使われることが多いのだけど。スクリーンセーバの作成をしたいとなると、MinGW-w64 はそのへん対応してないので、MinGW を使うしかなく。 *1
さておき。せっかくなので、2022/08時点でのインストール手順をメモ。そのうち自分も手順を絶対に忘れそうなので…。
MinGW (MinGW が正しい表記らしい) + msys というのは、Windows上で、CコンパイラやC++コンパイラを使えるようにしてくれるツール群、という説明で合っているのだろうか。とにかく、コイツをインストールすれば、gcc という有名なCコンパイラが無料で使えるようになる。
_MinGW - Wikipedia
MinGW は32bit版プログラムの生成しか対応してないので、今時は msys2 + MinGW-w64 という、64bit対応の環境が使われることが多いのだけど。スクリーンセーバの作成をしたいとなると、MinGW-w64 はそのへん対応してないので、MinGW を使うしかなく。 *1
さておき。せっかくなので、2022/08時点でのインストール手順をメモ。そのうち自分も手順を絶対に忘れそうなので…。
◎ インストーラを入手。 :
MinGW の入手先は、昔は SourceForgeだったけど、今は OSDN になっているのだとか。まあ、細かい各パッケージは SourceForge からダウンロードしているっぽいけれど。
_MinGW - Minimalist GNU for Windows Project Top Page - OSDN
mingw-get-setup.exe というファイルをダウンロードする。
_MinGW - Minimalist GNU for Windows Project Top Page - OSDN
mingw-get-setup.exe というファイルをダウンロードする。
◎ インストーラを実行。 :
mingw-get-setup.exe を実行する。以下の画面が出てくる。
MinGW のインストールディレクトリその他を指定。
その後のインストール作業に必要になるプログラムがいくつかダウンロードされる。
MinGW関係の色々なパッケージを選んでダウンロードできる画面が出てくる。
チェックボックスを左クリックするとメニューが出てくる。
その他のインストールするジャンルを選択する。
チェックをつけ終わったら、変更を指示。
パッケージのダウンロード画面が出てくる。
色々なパッケージがダウンロードされていく。
ダウンロードが終わると、パッケージが展開される。
ちなみに、左のほうで「All Packages」を選べば、全パッケージの一覧が表示される。
こんな感じの流れで、パッケージのインストールは終了。
- 「Install」をクリックして先に進む。
MinGW のインストールディレクトリその他を指定。
- デフォルトでは C:\MinGW になってる。
- 右のほうの「Change」をクリックすれば、インストール場所を変更できる。自分は D:\MinGW に変更した。
- 下のほうにあるチェックボックスは、「スタートメニューに登録するか」「デスクトップにショートカットファイルを作るか」といったオプション設定。
その後のインストール作業に必要になるプログラムがいくつかダウンロードされる。
- ダウンロードが終わったら「Continue」をクリック。
MinGW関係の色々なパッケージを選んでダウンロードできる画面が出てくる。
- 左のほうで「Basic Setup」を選択。
- 右のほうで、「mingw-developer-toolkit-bin」の頭のチェックボックスを左クリック。
チェックボックスを左クリックするとメニューが出てくる。
- 「Mark for Installation」を選んで、インストールを指示。
その他のインストールするジャンルを選択する。
- おそらくだけど、ada、fortran、objc は、使う場面がほとんど無いと思う。それ以外は全部チェックを入れる感じでいいかと。もちろん、「いいや、俺は (ada|fortran|Objective-C) をバリバリ使うんだ」という人はインストールすればよろしいかと。
チェックをつけ終わったら、変更を指示。
- 「Installation」→「Apply Chnages」を選択。
パッケージのダウンロード画面が出てくる。
- 「Apply」をクリック。
色々なパッケージがダウンロードされていく。
ダウンロードが終わると、パッケージが展開される。
- 「Close」をクリックして閉じる。
- 左のほうにあるチェックボックスを入れれば、次回からはダウンロードと展開が終わったら自動で閉じてくれるようになるらしい。自分は試してないけれど…。
ちなみに、左のほうで「All Packages」を選べば、全パッケージの一覧が表示される。
こんな感じの流れで、パッケージのインストールは終了。
◎ パスを通す。 :
インストールは終わったけれど、この状態では MinGW の各ツールにパスが通って無いので使えない。
えてしてその手の解説記事では、Windowsの環境変数 PATH に、以下の2つのディレクトリを追加していくけれど…。
自分も昔はそうしていたけど、他の開発関連ツール群と衝突してハマったことがあるので、それ以来、以下のようなbatファイルを作って、MinGW を使いたい時だけ環境変数を変更して利用している。
_mingw.bat
やっていることは、環境変数 PATH の一番最初に MinGW と msys のパスを追加したり、C/C++ 関係のヘッダファイルやライブラリファイルの場所を環境変数に指定しているだけ。
例えば、DOS窓を開いて mingw.bat を実行すれば、その後は mingw が使えるようになる。以下を眺めれば、mingw をインストールした場所にパスが通って各ツールが使えているのが分かるかと…。
えてしてその手の解説記事では、Windowsの環境変数 PATH に、以下の2つのディレクトリを追加していくけれど…。
- MinGWインストールフォルダ\bin
- MinGWインストールフォルダ\msys\1.0\bin
自分も昔はそうしていたけど、他の開発関連ツール群と衝突してハマったことがあるので、それ以来、以下のようなbatファイルを作って、MinGW を使いたい時だけ環境変数を変更して利用している。
_mingw.bat
@echo off @rem MinGW,MSYS enable @rem Please set your MinGW install Directory. set MINGW_PATH=C:\MinGW set MSYS_PATH=%MINGW_PATH%\\msys\1.0 set MINGWADDPATH=%MINGW_PATH%\bin;%MSYS_PATH%\bin set PATH=%MINGWADDPATH%;%PATH% set C_INCLUDE_PATH=%MINGW_PATH%\include set CPLUS_INCLUDE_PATH=%MINGW_PATH%\include set LIBRARY_PATH=%MINGW_PATH%\lib echo MinGW enable. echo add path %MINGWADDPATH%
- set MINGW_PATH=C:\MinGW の行を、自分の環境に合わせて変更すること。
やっていることは、環境変数 PATH の一番最初に MinGW と msys のパスを追加したり、C/C++ 関係のヘッダファイルやライブラリファイルの場所を環境変数に指定しているだけ。
例えば、DOS窓を開いて mingw.bat を実行すれば、その後は mingw が使えるようになる。以下を眺めれば、mingw をインストールした場所にパスが通って各ツールが使えているのが分かるかと…。
> mingw MinGW enable. add path D:\MinGW\bin;D:\MinGW\\msys\1.0\bin > which which "D:\MinGW\msys\1.0\bin\which" "D:\home\bin\which.cmd" > which gcc "D:\MinGW\bin\gcc.exe" > which make "D:\MinGW\msys\1.0\bin\make.exe" > gcc --version gcc (MinGW.org GCC Build-2) 9.2.0 Copyright (C) 2019 Free Software Foundation, Inc. ... > make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. ... This program built for i686-pc-msys
◎ コンパイルができるか動作確認。 :
gcc を使ってコンパイルができるか動作確認してみる。
以下のCソースファイルをコンパイルする。「Hello world!」と出力するだけのプログラム。
_hello.c
gcc でコンパイル。
ということで、gcc でコンパイルすることができた。MinGW のインストールは成功。
以下のCソースファイルをコンパイルする。「Hello world!」と出力するだけのプログラム。
_hello.c
#include <stdio.h> int main(void) { printf("Hello world!\n"); return 0; }
gcc でコンパイル。
> gcc hello.c > a.exe Hello world! > gcc hello.c -o hello.exe > hello.exe Hello world!
- gcc hoge.c で、hoge.c がコンパイルされて a.exe という実行ファイルができる。
- gcc hoge.c -o hoge.exe で、hoge.c がコンパイルされて、-o で指定したファイル名、hoge.exe という実行ファイルができる。
ということで、gcc でコンパイルすることができた。MinGW のインストールは成功。
*1: MinGW-w64 の libscrnsave.a、libscrnsavw.a は、ファイルはあるけど中身が空っぽなのです…。
[ ツッコむ ]
以上です。