gcc・g++を利用するためにMingw-w64をインストールする

サーバー

コンパイラとして、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は、各自の環境に合わせます。

ArchitectureOSのアーキテクチャ
i68632bit
x86_6464bit

Threadsは、「posix」のままにしておきます。
これを選択しておけば、汎用的に対応します。

Exceptionは、Architectureの選択状況により異なります。
64bitの「x86_64」の場合だと、以下が選択可能。

Exception説明
sefMicrosoft 固有
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++)の動作に問題は、ありません。

以上、動作確認(コンパイル)について説明しました。

タイトルとURLをコピーしました