最終更新日: 2016-06-26 日 01:23
ホーム | 文書トップ | 目次

MinGWについて(2012年)

Table of Contents

公式ページ

MinGW

ダウンロード

下記からインストーラをダウンロードする (2012.9.14現在の最新)

インストール

  • exeファイルを実行する
  • Repository Catalogues
    • Use pre-packages repository catalogues を選択
  • Select Destination Location
    • インストール先は C:\usr\MinGW とする(デフォルトは C:\MinGW)
  • Select Components
    • C Compiler はデフォルト選択されている
    • C++ Compiler と MSYS Basic System を追加で選択する
  • 必要なパッケージがダウンロード及びインストールされる
  • C:\usr\MinGW\varlog\mingw-get-log.txt にログが記録される

GnuWin32 Packages

ダウンロード

下記は、NTEmacsビルド時に必要なもの それぞれにおいて、"Complete package, except sources" をダウンロードする。 一部は、ソースも必要。

  • XPM 3.5.1-1
    • ソースもインストールし、src\xpm\3.5.1\libXpm-3.5.1-src\lib\simx.hを MinGW/includeにコピーする
  • LibPng 1.2.37
  • ZLib 1.2.3
  • LibUnGif 4.1.4
  • LibJpeg 6b
  • LibTiff 3.8.2

インストール

デフォルトのインストール先は C:\Program Files\GnuWin32 だが、MinGWのインストールされたディレクトリ (例 C:\usr\MinGW) にインストールする。

インストール後は、スタートメニューが下記の項目が追加される。 それぞれの項目からアンインストールが実行できる

gnu_win32_pack.png

Libxml

NTEmacs 24のビルド時に必要。インストーラは無い(2013.6.30現在)ので、下記を展開したものを、MinGWのインストールされたディレクトリ(例 C:\usr\MinGW)に上書きコピーする

  • iconv-1.9.2.win32.zip
  • libxml2-2.7.8.win32.zip

GDB

ダウンロード

下記からインストーラをダウンロードする 全て、Current Release を選ぶ

インストール

  • インストール先は C:\usr\gdb とする(デフォルトは C:\mingw )

MSYS

コンパイラ/リンカのオプション設定

シフトJISのダメ文字対策

  • https://sourceforge.net/projects/mingw/files/
    • All Files
      • GCC Version 3
        • Previous Release: gcc-3.4.5-20060117-1
          • gcc-g++-3.4.5-20060117-1.tar.gz
  • 上記をダウンロードして、展開する
  • libexec\gcc\mingw32\3.4.5\cc1.exe を、インストール先のものを置き換える
  • これを行うことで、下記オプションにてダメ文字('表'、'ソ'とか)を意識せずにコンパイルすることができるようになる
  • eclipse の場合は、「プロパティー」→「C/C++ ビルド」→「設定」→「ツール設定」→「CGG C Compiler」→「その他」の「その他のフラグ」に追加する
-finput-charset=cp932 -fexec-charset=cp932

SUBSYSTEMの設定

  • なにも設定しなくてもビルドは通るが、ウインドウアプリを生成した場合、アプリケーション起動時に同時にDOS画面が出てしまう
  • リンカに対して、下記オプションを指定する。
  • eclipse の場合は、「プロパティー」→「C/C++ ビルド」→「設定」→「ツール設定」→「MinGW C Linker」→「その他」の「リンカー・フラグ」に追加する
-Wl,--subsystem,windows -mwindows
  • ちなみに、Visual C++ ではリンカの設定「システム」のところで ”Windows (/SUBSYSTEM:WINDOWS)”又は”コンソール (/SUBSYSTEM:CONSOLE)”を選択するようになっている
    • ”Windows”の場合は WinMain()、”コンソール”の場合は main() 関数が無いと怒られる

参考ページ

ホーム | 文書トップ | 目次
Created by Emacs 27.1 (Org mode 9.3)