RealPath:
WebPath:
2017/02/12 02:24 (JST) 更新
MinGW64 on MSYS >>

MSYSへのMinGW64導入

Contents

概要

MSYS 環境に 64-bit 版の MinGW gcc を導入する。

MinGW/MSYS の入れ直し

一旦 C:\MinGW を削除し、mingw-get-setup.exe により MinGW/MSYS を入れ直す。
インストール先は C:\MinGW\32 とする。

MSYS の場所を設定

mingw-get.exe によるパッケージ導入を行う前に、profile.xml を編集することで MSYS の場所を変更する。

C:\MinGW\32\var\lib\mingw-get\data\profile.xml
    <sysroot subsystem="MSYS" path="%R/msys/1.0" />
    ↓
    <sysroot subsystem="MSYS" path="%R/../msys" />

MSYS 導入

C:\MinGW-32-64\32\bin\mingw-get.exe を起動し、msys-base を導入。

マウント設定

C:/MinGW/32, C:/MinGW/64 に対してそれぞれ /mingw32, /mingw64 としてアクセスできるように fstab を設定する。

C:\MinGW\msys\etc\fstab
C:/MinGW/32                /mingw
↓
C:/MinGW/32                /mingw
C:/MinGW/32                /mingw32
C:/MinGW/64                /mingw64

MSYS Bash 内での準備作業

C:\MinGW\msys\msys.bat により MSYS Bash を起動し mingw-get コマンドにより必要モジュールを導入。(このあたりは MinGW64 関係なくて個人的に使いそうなものを適当に選んで導入している)

MSYS Bash
$ mingw-get update
$ mingw-get list | egrep "(Package|Components)"
$ mingw-get install mingw-developer-toolkit mingw32-base mingw32-gcc-g++
$ mingw-get install mingw32-libz
$ mingw-get install msys-libncurses
$ mingw-get install msys-crypt msys-libcrypt msys-libopenssl
$ mingw-get install msys-wget

MinGW64 導入

パッケージ入手

導入手順

tdm64-gcc-5.1.0-2.exe を起動

  • MinGW-w64/TDM64 (32-bit and 64-bit) を選択
  • Installation Directory = C:\TDM-GCC-64 → C:\MinGW\64
  • Mirror = [Asia - Ishikawa, Japan] JAIST
  • とりあえず gdb はチェック付けとく
  • gcc については core と c++ 以外はいらない (fortran とかはいらない)
  • 一応 Add to PATH にもチェック付ける

導入確認

Command Prompt
> C:\MinGW\64\bin\gcc --version
gcc (tdm64-1) 5.1.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

> C:\MinGW\64\bin\gcc -dumpmachine
x86_64-w64-mingw32

MSYS での環境変数設定

MinGW64 側を参照するように環境変数を設定する。

C:\MinGW\msys\home\{username}\.profile
export PATH="/usr/local/bin:/mingw64/bin:/usr/bin:/mingw32/bin"
export CPLUS_INCLUDE_PATH="/usr/local/include:/mingw64/include:/usr/include"
export C_INCLUDE_PATH="/usr/local/include:/mingw64/include:/usr/include"
export LIBRARY_PATH=/usr/local/lib:/usr/lib

マウントメモ

だいたい以下のような構成になっている。

/                  … C:\MinGW\msys
/usr               … C:\MinGW\msys
/home              … C:\MinGW\msys\home
/usr/include       … C:\MinGW\msys\include
/usr/local         … C:\MinGW\msys\local
/usr/local/include … C:\MinGW\msys\local\include
/mingw32           … C:\MinGW\32
/mingw64           … C:\MinGW\64