MinGW64/MSYS环境在64位Windows 7下的搭建指南

14 年 2 月 12 日 星期三
928 字
5 分钟

AI 摘要

奋力赶来...

这此安装MSYS采用MinGW Installer(MinGW的安装管理)来完成,但是不通过MinGW Installer安装编译器套件。

MinGW Installer提供的安装套件并不全面,本次我们要安装MinGW64而非MinGW32,所以MinGW Installer对我们的价值相对较小。

另外关于一年前的那篇教程未能帮到各位朋友,我向各位表示歉意,希望这次的教程不会像上次那篇一样糟糕。

安装前准备

MSYS : 选用 MinGW Installer进行安装。

MinGW编译器 : 选用i686-4.8.2-release-win32-sjlj-rt_v3-rev2.7zx86_64-4.8.2-release-win32-sjlj-rt_v3-rev2.7z来做编译器套件。

Ps : 编译器的选用可以凭自己习惯,并非唯一。比如上次教程选用的编译器为rubenvb编译版本。

MSYS安装

运行下载的 mingw-get-setup.exe

修改根目录为“D:\MinGW”

MinGW

MinGW Installer安装完成后双击运行,安装MSYS相关包。

  1. mingw-developer-toolkit
  2. msys-base
MSYS

选中后点击Installation中的Apply Changes,等待下载安装。过程中需要点击Apply进行。

安装MSYS组件,并非必需,可直接跳过。

安装完成后,在系统变量PATH中添加“D:\MinGW\bin”,注意添加时所需的“;”。

完成之后运行“D:\MinGW\msys\1.0\msys.bat”

shell
mingw-get install msys-rxvt
mingw-get install msys-wget
mingw-get install msys-zip
mingw-get install msys-unzip
mingw-get install msys-xz

为msys.bat创建快捷方式:

其中目标设置为 D:\MinGW\msys\1.0\msys.bat --rxvt

起始位置设置为 D:\MinGW\msys\1.0\bin

MSYS-Bat

编译器套件安装

在“D:\MinGW”下可能存在着“mingw32”目录,如果存在可以选择删除或者重命名为其他名称,为下面的步骤提供方便。

将我们最初下载的编译器分别解压,得到“mingw32”、“mingw64”两个目录,完全复制到“D:\MinGW”下。

目录结构(不完全)如下:

text
D:
├── MinGW
|   ├── mingw32
|   └── mingw64

配置

创建所需的目录结构如下:

text
D:
├── MinGW
|   ├── mingw32
|   ├── mingw64
|   ├── local32
|   |   ├── etc
|   |   └── lib
|   |       └── pkgconfig
|   ├── local64
|   |   ├── etc
|   |   └── lib
|   |       └── pkgconfig
|   ├── opt
|   ├── sources
|   ├──build32
|   └──build64

创建目录结构可以自行逐级创建,也可使用命令。

shell
mkdir -p /D/mingw/{opt,build32,local32,build64,local64,sources}
mkdir -p /local{32,64}/lib/pkgconfig

对系统进行设置,指明各目录。

方式1: 采取命令方式指明

shell
mount /mingw
mount 'D:\MinGW' /mingw
mount 'D:\MinGW\opt\' /opt
mount 'D:\MinGW\local32\' /local32
mount 'D:\MinGW\build32\' /build32
mount 'D:\MinGW\local64\' /local64
mount 'D:\MinGW\build64\' /build64
mount 'D:\MinGW\sources\' /sources

方式2: 直接在“D:\MinGW\msys\1.0\etc”下创建“fstab”文件,在文件中添加如下内容:

text
# Win_Path         Mount_Point
D:\MinGW\            /mingw
D:\MinGW\mingw32\    /mingw32
D:\MinGW\mingw64\    /mingw64
D:\MinGW\opt\        /opt
D:\MinGW\local32\    /local32
D:\MinGW\local64\    /local64
D:\MinGW\build32\    /build32
D:\MinGW\build64\    /build64
D:\MinGW\sources\    /sources

创建编译设置文件。

方式1:以命令方式完成。

mingw32设置:

shell
cat > /local32/etc/profile.local << "EOF"

alias dir='ls -la --color=auto'
alias ls='ls --color=auto'

PKG_CONFIG_PATH="/local32/lib/pkgconfig"
CPPFLAGS="-I/local32/include"
CFLAGS="-I/local32/include -mms-bitfields -mthreads -mtune=pentium3"
CXXFLAGS="-I/local32/include -mms-bitfields -mthreads -mtune=pentium3"
LDFLAGS="-L/local32/lib -mthreads"
export PKG_CONFIG_PATH CPPFLAGS CFLAGS CXXFLAGS LDFLAGS

PATH=".:/local32/bin:/mingw32/bin:/mingw/bin:/bin:/opt/bin"
PS1='\[\033[32m\]\u@\h \[\033[33m\w\033[0m\]$ '
export PATH PS1

# directory where sources will be downloaded
LOCALSOURCEDIR=/sources
# package build directory
LOCALBUILDDIR=/build32
# package installation prefix
LOCALDESTDIR=/local32
export LOCALBUILDDIR LOCALDESTDIR

EOF

mingw64设置:

shell
cat > /local64/etc/profile.local << "EOF"

alias dir='ls -la --color=auto'
alias ls='ls --color=auto'

PKG_CONFIG_PATH="/local64/lib/pkgconfig"
CPPFLAGS="-I/local64/include"
CFLAGS="-I/local64/include -mms-bitfields -mthreads"
CXXFLAGS="-I/local64/include -mms-bitfields -mthreads"
LDFLAGS="-L/local64/lib"
export PKG_CONFIG_PATH CPPFLAGS CFLAGS CXXFLAGS LDFLAGS

PATH=".:/local64/bin:/mingw64/bin:/mingw/bin:/bin:/opt/bin"
PS1='\[\033[32m\]\u@\h \[\033[33m\w\033[0m\]$ '
export PATH PS1

# directory where sources will be downloaded
LOCALSOURCEDIR=/sources
# package build directory
LOCALBUILDDIR=/build64
# package installation prefix
LOCALDESTDIR=/local64
export LOCALBUILDDIR LOCALDESTDIR

EOF

方式2: 直接创建设置文件。

在“D:\MinGW\local32\etc”下创建32位设置文件“profile.local”,内容如下:

toml
# /local32/etc/profile.local

alias dir='ls -la --color=auto'
alias ls='ls --color=auto'

PKG_CONFIG_PATH="/local32/lib/pkgconfig"
CPPFLAGS="-I/local32/include"
CFLAGS="-I/local32/include -mms-bitfields -mthreads -mtune=pentium3"
CXXFLAGS="-I/local32/include -mms-bitfields -mthreads -mtune=pentium3"
LDFLAGS="-L/local32/lib -mthreads"
export PKG_CONFIG_PATH CPPFLAGS CFLAGS CXXFLAGS LDFLAGS

PATH=".:/local32/bin:/mingw32/bin:/mingw/bin:/bin:/opt/bin"
PS1='\[\033[32m\]\u@\h \[\033[33m\w\033[0m\]$ '
export PATH PS1

# directory where sources will be downloaded
LOCALSOURCEDIR=/sources
# package build directory
LOCALBUILDDIR=/build32
# package installation prefix
LOCALDESTDIR=/local32
export LOCALBUILDDIR LOCALDESTDIR

在“D:\MinGW\local64\etc”下创建64位设置文件“profile.local”,内容如下:

toml
# /local64/etc/profile.local
alias dir='ls -la --color=auto'
alias ls='ls --color=auto'

PKG_CONFIG_PATH="/local64/lib/pkgconfig"
CPPFLAGS="-I/local64/include"
CFLAGS="-I/local64/include -mms-bitfields -mthreads"
CXXFLAGS="-I/local64/include -mms-bitfields -mthreads"
LDFLAGS="-L/local64/lib"
export PKG_CONFIG_PATH CPPFLAGS CFLAGS CXXFLAGS LDFLAGS

PATH=".:/local64/bin:/mingw64/bin:/mingw/bin:/bin:/opt/bin"
PS1='\[\033[32m\]\u@\h \[\033[33m\w\033[0m\]$ '
export PATH PS1

# directory where sources will be downloaded
LOCALSOURCEDIR=/sources
# package build directory
LOCALBUILDDIR=/build64
# package installation prefix
LOCALDESTDIR=/local64
export LOCALBUILDDIR LOCALDESTDIR

设置默认生效设置(默认为64位设置)

shell
cat >> /etc/profile << "EOF"
if [ -f /local64/etc/profile.local ]; then
    source /local64/etc/profile.local
fi

EOF

更换默认生效设置

shell
#32位
source /local32/etc/profile.local
#64位
source /local64/etc/profile.local

文章标题:MinGW64/MSYS环境在64位Windows 7下的搭建指南

文章作者:Cedar

文章链接:https://some.fylsen.com/posts/setup-mingw64-msys-environment-on-64-bit-windows-7  [复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。