MinGWのインストール
(2008.9.9) いろいろなページに分散していたのをまとめました。
WindowsのフリーのC/C++コンパイラ
(2008.8.29更新。)
Windows上で動くフリー (自由) のC/C++開発環境には、CygwinとMinGWがあります。
Visual Studio 2008 Express という選択肢もあります (無償)。フリー (自由) ではありませんが、これも悪くありません。
Visual Studio 2008 Express にはMFC も ATL も含まれないので、GUIアプリを書くときは、Windows APIを直接叩くか、別途GUIライブラリを用意することになります。MinGWも別にGUIライブラリが必要です。
CygwinはWindows上でUNIX環境を再現します。C/C++コンパイラだけでなく、各種ライブラリから X、gtk+まで揃っています。UNIX用のソフトウェアをWindowsで動かしたいときに重宝します。X用のソフトウェアもだいたい動きます。
Cygwin環境でコンパイルすると、cygwin1.dll (POSIX Emulation DLL) が必ずリンクされ、このライブラリのライセンスが (LGPL ではなく) GPLなので、プログラムが自動的にGPLになります。
自分で使う分には何の問題もありませんが、それ以外のライセンスのソフトウェアのバイナリを他人に配布しようとするときは、Cygwinは使えません。
MinGWではWindowsネイティブで動くバイナリができます。配布に制限もありません。
MinGWにはUNIXエミュレーションは何もありませんので、UNIX用のソフトウェアをコンパイルするときは、例えば、ソケットはWinSockで書き直す、などしないといけません。
以下では、MinGWをインストールしてみます。
MinGWのインストール
MinGWのサイトは、
- MinGW | Minimalist GNU for Windows
- SourceForge.net: MinGW - Minimalist GNU for Windows - ダウンロードはこちらから
提供されているファイルがずいぶんゴチャゴチャしていますが、2008.8現在、インストーラのバージョンは5.1.4です。
このほか、MinGW本家以外でも、パッケージやインストーラを提供しているところがあります。
- SourceForge.net: TDM's GCC/MinGW32 Builds
- MinGW用に調整した、新しいgccコンパイラのバイナリ。2008.8現在、最新のgcc 4.3.2が提供されている。
- SourceForge.net: mingw-install
- 新しいパッケージを提供。例えば、2008.8現在、automake 1.10.1 などが用意されている。
まずは、MinGW-5.1.4.exe をダウンロードして実行します。
Previous / Current / Candidate の選択が出ます。どのバージョンがインストールされるかは、インストーラと同じフォルダにできるmingw.ini ファイルを見れば分かります。Currentでいいようです。
2008.8現在、Currentを選ぶと、次の組合せがインストールされます。
- mingw-runtime-3.14
- w32api-3.11
- binutils-2.17.50-20060824-1
- gcc 3.4.5-20060117-1
- mingw32-make-3.81-2
Note.
|
インストール先のディレクトリ名に空白文字が含まれると問題が発生する元になるので、インストール先は、c:¥MinGW などにします。
個別のパッケージで新しいものが提供されている場合が多いので、パッケージの選択では Minimal を選ぶのがよさそうです。
gcc 3.4.5 (plain Cのみ) がインストールされます。C++などは導入されません。
次は、個別のパッケージです。
個別のパッケージは、ファイルをダウンロードしてきて、mingwのトップディレクトリで解凍していくだけです。
bashやUNIX的なコマンド、makeコマンドなどはmsysCORE に含まれています。これは必須です。
| Package | Filename |
|---|---|
| MSYS Base System | msysCORE-1.0.11-20080826.tar.gz |
| MSYS Supplementary Tools | autoconf, automakeなど。 |
MinGWのトップディレクトリの msys.bat を実行すればターミナル (rxvt) が開きます。
gccのインストール
gccはTDM 版のバイナリをインストールしてみます。
インストーラもありますが、試したときには、ファイルがサーバからダウンロードできなかったため、うまくインストールできませんでした。
個別のパッケージを取ってきます。こちらも単にトップディレクトリでアーカイブを展開するだけです。簡単。
次のステップ
GUIアプリを作ろうと思うと、WindowsのAPIを直接叩くのは不毛です。何かGUIツールキットを用意します。
- wxWidgets
- 実用wxWidgets. Windowsネイティブなプログラムを作るならこちらがおすすめです。
- gtk+
- Windowsネイティブなgtk2アプリケーションの開発. UNIX用のソフトを移植する、あるいはUNIXへの移植を前提にするなら、こちらがいいと思います。
C/C++以外の開発言語でプログラムを書く場合は、
Note.