回想第一次看见,mingw这个词汇的时候已经是很久以前了,8年 还是十年已经记不清了。如今mingw还在,cygwin也还在,gcc已经快5.0了,貌似clang也不甘寂寞从mac跑出来了......这世界变化真是快哈。俺们当初着迷的BCB却快要走入历史舞台了...真是只有新人笑撒。
偶也早就不做技术了,现在想想,这样也好,自己感兴趣玩玩,总比开着游戏被千夫所指好哇。
言归正传,msys + mingw本身的安装比起当年已经简单不少了。如果你偏向于gui环境,那么直接下载codeblock 或者 codelite都已经自带mingw工具链,俺就不说了。可俺新买的本本默认是64位的win7,开始我也没有太在意,不过在编译freetype2的时候发现,mingw32似乎有点问题,自然只好转向mingw64了。
根据 万能的google推荐的软文 http://www.kineticsystem.org/?q=node/19 所讲的知识,俺顺利构建了ming64环境,毫无压力的编译了一圈 freetype-2.4.8 哈哈。
为了来年再玩,自己记下来备忘。
1. http://sourceforge.net/projects/mingw-w64/ 下载mingw64位的最新版本。建议选择 toolchains targetting w64 下面的 Personal Builds 系列,有多个版本可以选择,我选用了 rubenvb最新的 4.7.2 版本(老外说这个版本问题少点,姑且信了)。
2. 去mingw官方网站,按照http://www.mingw.org/wiki/Getting_Started的提示,下载 mingw-get-inst程序,在线安装,这里 我不需要mingw32,只需选择 msys ,各位看官自便。
3.msys安装完成后,把mingw64解压到您觉得合适的目录,比如 c:\gnuTool\mingw64。然后用编辑 msys安装目录下的 etc\fstab,如果你有一点点archlinux 或者 gentoo之类的经验,就应该很熟悉这个文件了。 把原来/mingw的mount point 修改成下面这样子:
C:/gnuTool/MinGW64 /mingw现在就可以启动这个定制的msys系统了。虽然msys还是32位的,但显然这不会影响最终我们64位的编译结果。不过,老外已经发现这样子的组合在编译某些库或者程序时候 会带来问题(比如msys自带的 libiconv是32位的,我们 make install 64位版本 就会出现 悲催的崩溃。当你需要一个64为的libiconv时候 ,那会多么痛苦啊) ,嗯人家已经有了解决办法了,我摘录下 对我有用的。
4. msys console下 建一组典型的linux环境 存放用户库文件的目录:
$ mkdir /mingw/local/bin
$ mkdir /mingw/local/docs
$ mkdir /mingw/local/include
$ mkdir /mingw/local/lib
$ mkdir /mingw/local/share
$ mkdir /mingw/local/src
5.编辑 msys的 etc/profile文件,在末尾添加以下几行,用来告诉编译器优先查找我们的 64位库文件目录
export LDFLAGS="-L/mingw/local/lib -lpthread $LDFLAGS" # -lpthread required to compile GraphicsMagick.
export CFLAGS="-I/mingw/local/include $CFLAGS"
export CPPFLAGS="-I/mingw/local/include $CPPFLAGS"
export CXXFLAGS="-I/mingw/local/include $CXXFLAGS"
export PATH="/mingw/local/bin:$PATH"6.保存重启之后,世界就清静了。一切ok。
7.以下为了msys方便....充分利用mingw的包管理机制 ,嘿嘿
安装wget: mingw-get install msys-get
unzip: mingw-get install msys-unzip
然后就可以用 wget来下载诸如svn之类的工具啦。。。
8.编译参数 记得要加prefix
$ ./configure –-prefix=/mingw/local
$ make -j4 //四核CPU可按此优化 加快编译速度 不影响编译结果
$ make install