コンパイラとして、gccやg++が必要になるケースがあります。
IDEやプログラムと連携する使い方なら、Mingw-w64が選択肢となります。
本記事の内容
- Mingw-w64とは?
- Mingw-w64のダウンロード
- Mingw-w64のインストール
- パスの設定
- 動作確認(コンパイル)
それでは、上記に沿って解説していきます。
Mingw-w64とは?
Mingwは、フリーのコンパイラであるGCCを含んだGNUツールです。
別の表現をすると、MingwはWindowsアプリケーションの開発に必要なコンパイラを提供しています。
しかし、Mingwは32bit環境にしか対応していません。
そして、Mingwの開発は2010年にストップしています。
そこで、Mingw-w64が64bit環境用に作られました。
名前の通り、Mingw-w64はMingwからフォークされています。
フォークと言うと、MingwもCygwinからフォークしたモノです。
内容的には、Cygwinからコンパイラと各種ツールのみを抜き出しています。
Cygwinについては、次の記事で解説しています。
当然、Mingwでできることは、Cygwinでも可能です。
Cygwin上でgccとg++を利用する方法を次の記事で説明しています。
以上、Mingw-w64について説明しました。
次は、Mingw-w64をダウンロードしていきます。
Mingw-w64のダウンロード
Mingw-w64公式ダウンロードページ
http://mingw-w64.org/doku.php/download/mingw-builds
上記ページへアクセス。
Sourceforgeへのリンクがあります。
リンクをクリックすると、Sourceforgeへサイトへ移動します。
移動したと同時に、ダウンロードが始まります。
公式から遷移しているので、危険なことはありません。
でも、いきなりダウンロードが始まるのはちょっとビビります。
ダウンロードは、すぐに終わります。
「mingw-w64-install.exe」というファイルが、保存されているはずです。
以上、Mingw-w64のダウンロードを説明しました。
次は、Mingw-w64をインストールしていきます。
Mingw-w64のインストール
「mingw-w64-install.exe」を実行します。
「Next」ボタンをクリック。
設定を行いましょう。
Versionは、特に指定がなければそのままにしておきます。
Architectureは、各自の環境に合わせます。
Architecture | OSのアーキテクチャ |
i686 | 32bit |
x86_64 | 64bit |
Threadsは、「posix」のままにしておきます。
これを選択しておけば、汎用的に対応します。
Exceptionは、Architectureの選択状況により異なります。
64bitの「x86_64」の場合だと、以下が選択可能。
Exception | 説明 |
sef | Microsoft 固有 |
sjlj | 汎用的 |
今回は、「sjlj」を選びます。
個人的には、汎用的なモノが好みです。
Build Versionについては、「0」しか選択肢がありません。
よって、そのままとしておきます。
結果的には、以下のような設定とします。
「Next」ボタンをクリック。
インストール先の設定です。
名前が長いので、デフォルトから変更しています。
ここは、各自の好みでどうぞ。
あと、スタートメニューにも不要です。
よって、チェックを外しました。
設定が完了したら、「Next」ボタンをクリック。
インストール処理が、始まります。
しばらく待つと、次の画面になります。
「Next」ボタンをクリック。
無事にインストールが完了しました。
「Finish」ボタンをクリックして、画面を閉じます。
以上、Mingw-w64のインストールを説明しました。
次は、パスの設定を行います。
パスの設定
Mingw-w64のインストールが、完了しました。
しかし、これだけでは何かが変わるわけではありません。
そもそも、gccとg++を利用するためにMingw-w64をインストールしています。
現状では、「gcc」と打ち込んでも何も起こりません。
もちろん、フルパスで指定すれば動きます。
そのため、パスの設定を行います。
指定先のフォルダ
指定先となるフォルダは、以下。
Mingw-w64のインストール先\mingw64\bin
今回であれば、「C:\Program Files\mingw-w64\mingw64\bin」を指定することになります。
このフォルダには、以下のファイルが存在しています。
システム変数Pathの設定
ここに「sysdm.cpl」と入力します。
以下の画面が表示されます。
「詳細設定」タブを選択。
「環境変数」ボタンをクリック。
システム環境変数のPathに指定先のフォルダを追加。
今回なら、「C:\Program Files\mingw-w64\mingw64\bin\;」を追加します。
パスの設定は、これで完了です。
以上、パスの設定の説明でした。
最後は、実際にコンパイルして動作確認をしましょう。
動作確認(コンパイル)
それぞれの動作を以下で説明します。
gccによるコンパイル
hello.cファイルを作成します。
#include <stdio.h> int main() { printf("Hello World"); return 0; }
以下のコマンドでそのファイルをコンパイルします。
>gcc -o hello hello.c
正常に完了すると、同じフォルダ上に「hello.exe」ファイルが作成されています。
「hello.exe」を実行します。
>hello.exe Hello world.
Cコンパイラ(gcc)の動作に問題は、ありません。
g++によるコンパイル
hello.cppファイルを作成します。
#include <iostream> using namespace std; int main() { cout << "Hello world." << endl; return 0; }
以下のコマンドでそのファイルをコンパイルします。
>g++ -o hellopp hello.cpp
正常に完了すると、同じフォルダ上に「hellopp.exe」ファイルが作成されています。
「hellopp.exe」を実行します。
>hellopp.exe Hello world.
C++コンパイラ(g++)の動作に問題は、ありません。
以上、動作確認(コンパイル)について説明しました。