Windowsでgcc(MinGW)を使う
WindowsでC言語をコンパイルしたくて、gccを使うことにしました。
今回取り扱うのは、gccのWindowsに移植したバージョンであるMinGWです。
他にもあるようですが、説明しているサイトが多いものにしました。
インストール
まずはインストーラーをダウンロードしました。
Getting Started | MinGW
実行しようとすると、「gcc.exeディスクがありません ドライブディスクがありません ディスクをドライブE:に挿入してください」とエラー。
調べてみると、開発者がEドライブを使用しているためのエラーとのこと……。
Windows8.1でMinGWをインストールしたのですが、動作確認時に分から... - Yahoo!知恵袋
仕方がないので、手元のインストーラーをゴミ箱に放り込んで、新しいインストーラーを使うことにしました。
http://mingw-w64.org/doku.php/start
Downloads→Mingw-buildsからダウンロードできました。
インストーラーを起動すると、settingの項目が並んだ画面が出てきます。
Qt で MinGW-w64 を使用する際に必要になるスレッドモデルと例外機構の選択について | cutlassfish
上のページを参考にして、項目を選んでいきます。
今回はこの組み合わせにしました。
後は、通常通りのインストール手順です。
パスを通す
インストールが終わったら、パスを通して、コマンドプロンプトでコマンドとして認識されるようにしていきます。
C言語入門 - MinGW - gcc の環境設定(パスを通す) - Windows環境 - Webkaru
コントロールパネル→システムとセキュリティ→システム
→システムの詳細設定→環境変数
ユーザー環境変数かシステム環境変数のどちらかのPATHを選択し、「編集」を押します。(分からない場合は、システム環境変数に)
先ほどインストールしたMinGw内のbinフォルダのパスを末尾にコピーします。
;C:\Program Files\mingw-w64\x86_64-5.3.0-win32-seh-rt_v4-rev0\mingw64\bin
※私の場合
複数ある場合は、浅い階層にあるbinのパスを入力してください。
これで、パスを通すことができました。
テスト
Hello worldを書いて、test.cとして保存しておきます。
#include <stdio.h> int main(void) { printf("Hello World!"); return 0; }
パスを通したので、コマンドプロンプトに直でgccが打てます。
$ gcc test.c
もし、ヘッダが見つからない場合は、読み込むよう設定されているフォルダにヘッダを移動させる必要があります。
http://www.teradas.net/archives/12443/
$ a.exe
でHello worldが表示できました。
しかし、実行ファイルを直接実行した場合、すぐにコマンドプロンプトが閉じてしまいます。
これは、どうやらコマンドプロンプトの仕様のようです。
そのため、Hello worldを目視したければ、キーを押すまで終了させないような仕組みが必要となります。
#include <stdio.h> int main(void) { printf("Hello World!"); while(getchar() != '\n'); //キーを押すまでループし続ける return 0; }
これで、じっくりHello worldを眺められるようになりました。