这此安装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.7z、x86_64-4.8.2-release-win32-sjlj-rt_v3-rev2.7z来做编译器套件。
Ps : 编译器的选用可以凭自己习惯,并非唯一。比如上次教程选用的编译器为rubenvb编译版本。
MSYS安装
运行下载的 mingw-get-setup.exe
修改根目录为“D:\MinGW”
MinGW Installer安装完成后双击运行,安装MSYS相关包。
- mingw-developer-toolkit
- msys-base
选中后点击Installation中的Apply Changes,等待下载安装。过程中需要点击Apply进行。
安装MSYS组件,并非必需,可直接跳过。
安装完成后,在系统变量PATH中添加“D:\MinGW\bin”,注意添加时所需的“;”。
完成之后运行“D:\MinGW\msys\1.0\msys.bat”
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
编译器套件安装
在“D:\MinGW”下可能存在着“mingw32”目录,如果存在可以选择删除或者重命名为其他名称,为下面的步骤提供方便。
将我们最初下载的编译器分别解压,得到“mingw32”、“mingw64”两个目录,完全复制到“D:\MinGW”下。
目录结构(不完全)如下:
D:
├── MinGW
| ├── mingw32
| └── mingw64
配置
创建所需的目录结构如下:
D:
├── MinGW
| ├── mingw32
| ├── mingw64
| ├── local32
| | ├── etc
| | └── lib
| | └── pkgconfig
| ├── local64
| | ├── etc
| | └── lib
| | └── pkgconfig
| ├── opt
| ├── sources
| ├──build32
| └──build64
创建目录结构可以自行逐级创建,也可使用命令。
mkdir -p /D/mingw/{opt,build32,local32,build64,local64,sources}
mkdir -p /local{32,64}/lib/pkgconfig
对系统进行设置,指明各目录。
方式1: 采取命令方式指明
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”文件,在文件中添加如下内容:
# 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设置:
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设置:
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”,内容如下:
# /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”,内容如下:
# /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位设置)
cat >> /etc/profile << "EOF"
if [ -f /local64/etc/profile.local ]; then
source /local64/etc/profile.local
fi
EOF
更换默认生效设置
#32位
source /local32/etc/profile.local
#64位
source /local64/etc/profile.local