MinGW 是 GCC编译器最受欢迎可产生原生Win32程序的变种。MinGW的核心是GCC编译器,但是MinGW官方更新的速度真的不敢恭维,现在还停留在3.x.x时代!下边,我们结合老外的 《Compiling GCC for MinGW》 一文谈谈如何自行编译MinGW版GCC,让我们跟上时代潮流!
一、工具准备
与其事必先利其器,我们首先需要准备一些工具。他们是:
一个可以工作的MinGW版GCC编译器
MinGW
MSYS
MSYSDTK
mingw-runtime
windows api
bison
bison-dep
flex
mingw32-make
(重命名原来的make.exe,将新下载的mingw32-make.exe更名为make.exe。)
这些工具您都可以在http://www.mingw.org/download.shtml 找到相应的下载位置,如果您需要编译一大堆GCC编译器(GCC 支持多种编程语言),建议您修改msys.bat :
62行::start rxvt ... 改为 start /LOW rxvt ...
66行: start sh ... 改为 start /LOW sh ...
GCC的源码树可以在 http://gcc.gnu.org/mirrors.html 找一个就近的镜像服务器下载。
二、准备目录
解压缩您的GCC源代码
建立build目录
进入build目录
三、编译步骤
../configure --enable-languages=c,c++ -v --enable-optimize --host=mingw32 --target=mingw32 --prefix=/mingw --oldincludedir=/mingw/include --enable-threads --disable-nls --disable-win32-registry --disable-shared --without-x
make bootstrap "CFLAGS=-O2 -fssa" "LDFLAGS=-s"
make
make profiledbootstrap
如果编译bootsrtap失败,可以尝试使用
make DESTDIR=/home/gcc-build install
通常情况下可以使用
make install 进行安装
如果您需要GCC文档,可以使用下面的指令
make html
完成后,关闭MinGW即可。