基础系统包括一个编译器、一个shell及一组UNIX命令列工具,编译器跟相关的工具是由MinGW(the Minimalist GNU for Windows)套件提供,MSYS套件是一个最小的系统,提供POSIX相容的Bourne shell以及一些必备的实用工具。
[adsense]
安装MinGW跟MSYS
MinGW32是GCC编译器移植到win32平台的套件,MSYS是提供所有其它必要工具的基础系统,这两个套件可以使用新的MingGW-Get installer来安装。
下载MingGW-Get installer:
执行installer,在第三个安装荧幕,选择Use pre-packaged repository catalogues,ㄚ琪是选用Download latest repository catalogues,不过要小心,以免太新的编译器,会对文中的设定有影响。
在第五个安装荧幕里,你可以改变安装目录,之后出现上图,是因为ㄚ琪之前已经装了5.1.6版了,所以它会询问要不要安装在这个目录里,预设的C:\mingw通常是比较好的。
在第七个安装荧幕里,选择下列的组成:
C Compiler
C++ Compiler
MSYS Basic System
MSYS Developer Toolkit
一旦安装完成,启动MinGW Shell,你可以在开始->程式集-> MSYS -> MinGW Shell找到,我们会使用这个installer的命令列介面来安装其余的套件。
我较喜欢rxvt作为命令列终端机,安装rxvt套件可以用下面的命令:
mingw-get install msys-rxvt
接下来,我们要建一个新捷径,:你也可以复制现有的MinGW Shell捷径,或是建构一个新捷径到C:\MinGW\msys\1.0\msys.bat,在新捷径上按滑鼠右键以开启其属性,像下面这样编辑:
Target: C:\MinGW\msys\1.0\msys.bat –rxvt
Start in: C:\MinGW\msys\1.0\bin
你可以给这个新捷径一个喜欢的名称,我称作MSYS Shell,关闭MinGW Shell视窗,在新捷径上双击MSYS Shell。
你可以在RXVT终端机使用shift+insert组合键来贴上之前复制的文字,你可以从这篇指南复制命令然后贴到终端机视窗内,假如你使用滑鼠选取文字,它也会自动复制。
安装其余的套件
我们会透过命令列安装器安装一些其余的msys套件:
mingw-get install msys-wget mingw-get install msys-zip mingw-get install msys-unzip
安装后的设定
MSYS模拟UNIX的档案系统结构,预设情况下MSYS安装目录会被mount为root目录,他也可以在/usr,MinGW安装目录会被mount为/mingw。
传统的视窗装置像是D:跟E:可以用/d或/e来存取,使用mount命令来取得概述:
mount
我们会新增三个额外的目录到/etc/fstab,一旦新的shell启动就可以mount:/opt,我们安装一些新的额外套件到这个地方、/build事我们下载原始码并编译套件的地方,以及/usr/local是我们安装我们自己编译的套件的地方,这些目录可以在任何地方,但是要让设定简单并且一致,我们会新增C:\MinGW\opt、 C:\MinGW\build跟C:\MinGW\local并且mount为/opt、/build 及/usr/local。
新增必须的目录:
mkdir /c/mingw/build /c/mingw/opt /c/mingw/local
Mount这些目录,这会自动加到/etc/fstab中:
mount 'C:\MinGW\local\' /usr/local mount 'C:\MinGW\opt\' /opt mount 'C:\MinGW\build\' /build
在/usr/local跟/opt新增必要的子目录:
mkdir /opt/bin /usr/local/{bin,etc,include,lib,share}
mkdir /usr/local/lib/pkgconfig
建构profile.local:
cat > /usr/local/etc/profile.local << "EOF"
#
# /usr/local/etc/profile.local
#
alias dir='ls -la --color=auto'
alias ls='ls --color=auto'
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
CPPFLAGS="-I/usr/local/include"
CFLAGS="-I/usr/local/include -mms-bitfields"
CXXFLAGS="-I/usr/local/include -mms-bitfields"
LDFLAGS="-L/usr/local/lib"
export PKG_CONFIG_PATH CPPFLAGS CFLAGS CXXFLAGS LDFLAGS
PATH="${PATH}:/opt/bin"
PS1='\[\033[32m\]\u@\h \[\033[33m\w\033[0m\]$ '
export PATH PS1
EOF
确认在登录时可以执行:
cat >> /etc/profile << "EOF"
if [ -f /usr/local/etc/profile.local ]; then
source /usr/local/etc/profile.local
fi
EOF
我们新增两个额外的环境变数来指示套件建构目录以及安装的前置字串,这份指南的后面会依赖这些变数来指到正确的目录:
cat >> /usr/local/etc/profile.local << "EOF" # package build directory LOCALBUILDDIR=/build # package installation prefix LOCALDESTDIR=/usr/local export LOCALBUILDDIR LOCALDESTDIR EOF
套用新的设定:
source /usr/local/etc/profile.local
设定vim
(假如你不想使用VIM编辑器可以跳过这节)
新增VIM的组态档:
cat > ~/.vimrc << "EOF" " Configuration file for VIM set nocompatible set bs=2 " allow backspacing over everything in insert mode set ai " set autoindenting on " set backup " keep a backup file set nobackup " do not keep a backup file set history=256 " keep 256 lines of command line history set ruler " show the cursor position all the time set tabstop=8 " tab at 4 characters set shiftwidth=8 " 4 characters indentation set nowrap " do not wrap long lines set visualbell " no bell set background=light " msys rxvt has a light background "set background=dark " mingw shell uses a black background syntax on " syntax highlighting on EOF
设定vim为预设的编辑器
cat >> /usr/local/etc/profile.local << "EOF" EDITOR=vim export EDITOR EOF
在/opt安装额外的套件
我们会安装一些协力厂商的工具到/opt以避免干扰到预设的套件。
下载并安装win32 subversion客户端:
wget -c http://downloads.sourceforge.net/project/win32svn/1.6.13/svn-win32-1.6.13.zip unzip svn-win32-1.6.13.zip cp -va svn-win32-1.6.13/* /opt mkdir /opt/share/svn-win32-1.6.13 mv /opt/README.txt /opt/share/svn-win32-1.6.13 rm -rf svn-win32-1.6.13 svn-win32-1.6.13.zip
下载并安装win32的cmake:
wget -c http://www.cmake.org/files/v2.8/cmake-2.8.3-win32-x86.zip unzip cmake-2.8.3-win32-x86.zip cp -va cmake-2.8.3-win32-x86/* /opt rm -rf cmake-2.8.3-win32-x86 cmake-2.8.3-win32-x86.zip
后记:MinGW/MSYS设定确实很简单,比起水瓶尤加利的轻松学会 MSYS + MinGW —- 在 Windows 底下重新编译 GNU 程式中所提的MinGW-5.1.x.exe设定方式更简单, 但是ㄚ琪现在还卡在Part 3的GTK的编译部份,很多都make错误,所以还得静待一段期间好好了解一下,而本篇的设定,基于编译的需求,有些已经有变更了,待ㄚ琪搞定第三部份后,再来更新第一部份吧!




2 則留言
Comments are closed.