MinGW
出自OpenTTD 运输大亨
目录 |
介绍
本页面是为指导在win32环境下如何使用MinGW编译OpenTTD。
前言
- 源代码测试:OpenTTD-0.6.0-BetaX
- 使用的软件包如下:
- MinGW-5.1.3
- binutils-2.16.91-20060119-1
- gcc-core-3.4.2-20040916-1
- gcc-g++-3.4.2-20040916-1
- mingw-runtime-3.12
- w32api-3.9
- MSYS-1.0.10
- wget-1.9.1 (from mingwPORT or sources) -> 需要安装 mingwPORTs
- zlib-1.2.3 (from mingwPORT or sources)
- libpng-1.2.8 (from mingwPORT or sources)
- SVN, 用来获得最新的源代码。
- 支持中文。
- MinGW-5.1.3
以上软件需要30MB空间,源代码需要30MB空间,因此请保证磁盘空间在250MB以上。
安装MinGW
请注意:MinGW的安装目录中不能包含任何的空格。
- 运行MinGW 5.1.3 安装文件。
- 安装时,请选择 Candidate, 然后选择 Minimal install 并勾选 g++ compiler.
安装MSYS
请注意:MinGW的安装目录中不能包含任何的空格。
- 运行MSYS安装程序时,你将在安装窗口中看到以下信息:
This is a post install process that will try to normalize between your MinGW install if any as well as your previous MSYS installs if any. I don't have any traps as aborts will not hurt anything. Do you wish to continue with the post install? [y/n ]
输入 "y".
Do you have MinGW installed? [y/n ]
输入 "y".Please answer the following in the form of c:/foo/bar. Where is your MinGW installation?
输入你所安装的MinGW的路径,请注意必须是“/”倒如“C:/MinGW”,如果输入有误,最好是重新安装MSYS!
-
说明:MinGW是从GNU/Linux移植过来的,所以相关软件都保留了很多Linux的痕迹,本文中一些目录结构可能比较难以理解。Linux中有一个“根目录”,用“/”表示,Linux下所有的目录都在这个目录之下,MSYS虽然在Windows下,但是也沿用了Linux的习惯,将MSYS的安装目录作为根目录。比如下文中提到的几条命令:
tar -xvjf wget-1.9.1-mingwPORT.tar.bz2 mkdir -p /usr/local/bin cd wget-1.9.1/mingwPORT cp wget.exe /usr/local/bin mkdir /usr/src ./mingwPORT.sh
这里第二行的命令中“/usr/local/bin”就是这种用法,实际是指的MSYS的安装目录(被当作根目录)下的相应目录。这条命令具体的意思是在 MSYS的安装目录下的usr目录下的local目录下建立一个名为bin的目录。当然我们在Windows下可能不习惯用输入命令的方法,直接用我们熟悉的方法建立目录也是可以的。
安装SVN
- 在MSYS安装目录下建立一个local目录。
- 从SVN压缩包中解压 bin, iconv, licenses, share 几个目录到上一步所建立的local目录中。
测试MInGW的安装
- 运行MSYS
- 输入以下命令:
make -v gcc -v svn help
- 请检查输出结果,看是否安装正确。
编译 wget
- 将 wget-1.9.1-mingwPORT.tar.bz2 文件放入某个目录 (例如:/home).
- 运行 MSYS.
- 请确认你的当前目录与该文件所放的目录相同,然后运行以下命令:
tar -xvjf wget-1.9.1-mingwPORT.tar.bz2 mkdir -p /usr/local/bin cd wget-1.9.1/mingwPORT cp wget.exe /usr/local/bin mkdir /usr/src ./mingwPORT.sh
然后按回车直到开始安装。 - 程序将自动下载wget源代码, 并开始安装和编译。
- 删除wget临时文件,请运行以下命令:
rm /usr/local/bin/wget.exe
编译zlib
- 请将 zlib-1.2.3-mingwPORT-1.tar.bz2 文件放入某个目录 (例如: /home)
- 运行 MSYS.
- 请确认你当前的目录与该文件所在的目录相同,并运行以下命令:
tar -xvjf zlib-1.2.3-mingwPORT-1.tar.bz2 cd zlib-1.2.3/mingwPORT ./mingwPORT.sh
按回车直到开始安装。 - 程序会开始下载源代码,并安装和编译Zlib。
- 要使Zlib生效,请输入以下命令:
mkdir /usr/local/include mkdir /usr/local/lib cp /mingw/include/zlib.h /usr/local/include cp /mingw/lib/libz.a /usr/local/lib
编译 pnglib
- 将 libpng-1.2.8-mingwPORT.tar.bz2 放入某个目录 (例如: /home)
- 运行 MSYS.
- 请确认你的当前目录与该文件所在的目录相同,并运行以下命令:
tar -xvjf libpng-1.2.8-mingwPORT.tar.bz2 cd libpng-1.2.8/mingwPORT ./mingwPORT.sh
按回车直到程序开始安装。 - 程序自动下载源代码,并安装和编译。
编译 freetype
- 将 freetype-2.1.9-mingwPORT.tar.bz2 放入某个目录 (例如: /home)
- 运行 MSYS.
- 请确认你的当前目录与该文件所在的目录相同,并运行以下命令:
tar -xvjf freetype-2.1.9-mingwPORT.tar.bz2 cd freetype-2.1.9/mingwPORT ./mingwPORT.sh
Download files?(Yes),请按回车,SF Mirror?(Yes),按回车,选择镜像网站,请选择镜像3,台湾镜像。后面的全部按回车默认安装。 - 程序自动下载源代码,并安装和编译。
获得源代码
有很多方式可以获得OpenTTD源代码:
这是其中之一:
- 运行 MSYS.
- 运行以下命令:
mkdir ~/ottdsrc cd ~/ottdsrc svn checkout svn://svn.openttd.org/trunk
其中之二:在openttd的官方网站上下载源代码包。
编译 OpenTTD
如果你编译出现某些问题时,请不要灰心,可能是因为源代码有错误。
- 运行 MSYS.
- 运行以下命令:
cd ~/ottdsrc/trunk ./configure make
编译中可能会出现一些警告,一般情况下不会有太大的影响。 - 编译完成后,会生成文件openttd.exe, 程序会拷贝到./bin子目录下。
测试 OpenTTD
- 从
(TTD)\data\目录中拷贝以下文件到(OTTD)\data\目录中:sample.cat trg1r.grf trgcr.grf trghr.grf trgir.grf trgtr.grf
- 复制
(TTD)\gm目录中拷贝以下文件到(OTTD)\gm目录中.(注意: 这一步是可选的。不操作游戏没有音乐。) - 双击
openttd.exe运行。 - 开始享受游戏吧!
简便方法
下载buildottd,然后按照编译wget和freetype的方法,就可以使buildottd支持中文了。超方便!运行msys请点击:\buildottd\msys \msys.bat就可以了。这个工具直接用好像不是太方便,但是可以用它偷一下懒,使用它可以跳过上面自己编译一些软件的步骤,下载它安装好以后,上面提到的那些东西除了FreeType都有了,实际上它也只是在MSYS的基础上加了一个外壳而已,用的还是Mingw和MSYS,所以只需要编译wget 和FreeType就可以拿来编译OpenTTD的源代码了。并且下面那个.net 2.0 framework并不需要。注意:Buildottd需要Microsoft .NET 2.0 framework 支持,请搜索相关下载。
