Difference between revisions of "Compiling for Windows with scons/zh"
TOC_Official (talk | contribs) m (Corrections) |
TOC_Official (talk | contribs) m (Enter a short summary [b]) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Languages|Compiling for Windows with scons}} | {{Languages|Compiling for Windows with scons}} | ||
+ | '''请注意,本教程已失效。请转到使用Meson编译TPT!''' | ||
+ | |||
本教程使用TPT官方编译系统SCons编译git上的TPT。你需要按照接下来的教程安装git,MinGW,python和SCons。完成所有设置后就可以在30到60分钟内编译TPT。(编译速度取决于网路带宽和CPU速度) | 本教程使用TPT官方编译系统SCons编译git上的TPT。你需要按照接下来的教程安装git,MinGW,python和SCons。完成所有设置后就可以在30到60分钟内编译TPT。(编译速度取决于网路带宽和CPU速度) | ||
Line 20: | Line 22: | ||
现在,点击此处下载Python:https://www.python.org/ftp/python/3.7.0/python-3.7.0.exe | 现在,点击此处下载Python:https://www.python.org/ftp/python/3.7.0/python-3.7.0.exe | ||
− | '''SCons在64位程序下可能安装失败,建议下载32位。下载速度可能较慢,可以选择其他下载途径。安装时请注意安装目录必须是 "C:\ | + | '''SCons在64位程序下可能安装失败,建议下载32位。下载速度可能较慢,可以选择其他下载途径。安装时请注意安装目录必须是 "C:\Python37\,其余皆保持默认设置。"''' |
如果你使用多核处理器并想加快编译进度,你还需要下载[https://github.com/mhammond/pywin32/releases/download/b223/pywin32-223.win32-py3.7.exe pywin32拓展模块](非必须) | 如果你使用多核处理器并想加快编译进度,你还需要下载[https://github.com/mhammond/pywin32/releases/download/b223/pywin32-223.win32-py3.7.exe pywin32拓展模块](非必须) | ||
Line 26: | Line 28: | ||
最后下载编译系统SCons: https://sourceforge.net/projects/scons/files/scons/3.0.1/scons-3.0.1.tar.gz/download | 最后下载编译系统SCons: https://sourceforge.net/projects/scons/files/scons/3.0.1/scons-3.0.1.tar.gz/download | ||
− | ''' | + | '''SCons需要安装至Python目录,在scons3.0.1文件夹中打开命令行,键入<code>.\setup.py install --standard-lib |
+ | </code>即可。''' | ||
== 向环境变量PATH中添加变量 == | == 向环境变量PATH中添加变量 == | ||
Line 34: | Line 37: | ||
<code>C:\MinGW\bin</code> | <code>C:\MinGW\bin</code> | ||
− | <code>C:\ | + | <code>C:\Python37</code> |
− | <code>C:\ | + | <code>C:\Python37\Scripts</code> |
'''默认系统为Windows 10,其他版本如左图。''' | '''默认系统为Windows 10,其他版本如左图。''' | ||
Line 50: | Line 53: | ||
== 获取所需库 == | == 获取所需库 == | ||
[[File:Mingw-get.png|thumb|]] | [[File:Mingw-get.png|thumb|]] | ||
− | 要完成MinGW的安装,打开Git | + | 要完成MinGW的安装,打开Git Bash,复制或键入以下内容到终端。(右键点击并选择Paste) |
<code>mingw-get install gcc g++ mingw32-libbz2 bzip2 mingw32-libz zlib mingw32-pthreads-w32</code> | <code>mingw-get install gcc g++ mingw32-libbz2 bzip2 mingw32-libz zlib mingw32-pthreads-w32</code> |
Latest revision as of 05:21, 17 August 2021
Language: | English • 中文 |
---|
请注意,本教程已失效。请转到使用Meson编译TPT!
本教程使用TPT官方编译系统SCons编译git上的TPT。你需要按照接下来的教程安装git,MinGW,python和SCons。完成所有设置后就可以在30到60分钟内编译TPT。(编译速度取决于网路带宽和CPU速度)
注意:本教程不包括如何设置IDE和编辑代码的信息。请自一个你觉得最方便的编辑器进行编辑。你可能会使用类似Code::Blocks或Eclipse这些编译器,但记事本也能满足要求。因为你可以在完成编辑后配置自动编译命令。如果你使用Visual Studio,请转到使用Visual Studio编译TPT++。
如果遇到任何问题,转到The Powder Toy 论坛获取支持。
Contents
下载
首先在此处下载Windows版Git: https://git-for-windows.github.io/
若想为所有用户安装Git,需要以管理员模式打开程序。(否则程序会认为你只为自己安装)如果你使用Windows 10,可以选择预设的类Windows风格的控制台。此外,在安装的其他部分建议使用程序的默认设置。
接下来下载编译器MinGW: http://sourceforge.net/projects/mingw/files/latest/download?source=files
当安装程序要求你选择安装位置时,确保程序安装在"C:\MinGW"下并取消 "install support for the graphical user interface" 选项。到目前这个功能仍不易用。
安装过程可能较为复杂,当进度条到达100%时请点击Quit。
现在,点击此处下载Python:https://www.python.org/ftp/python/3.7.0/python-3.7.0.exe
SCons在64位程序下可能安装失败,建议下载32位。下载速度可能较慢,可以选择其他下载途径。安装时请注意安装目录必须是 "C:\Python37\,其余皆保持默认设置。"
如果你使用多核处理器并想加快编译进度,你还需要下载pywin32拓展模块(非必须)
最后下载编译系统SCons: https://sourceforge.net/projects/scons/files/scons/3.0.1/scons-3.0.1.tar.gz/download
SCons需要安装至Python目录,在scons3.0.1文件夹中打开命令行,键入.\setup.py install --standard-lib
即可。
向环境变量PATH中添加变量
为成功编译,你需要添加MinGW和Python工具的安装目录到系统的环境变量。在文件资源管理器中键入"控制面板\所有控制面板项\系统",点击左侧高级系统设置,选择底部的环境变量,在系统变量栏中选中Path并点击编辑,最后依次点击新建并键入
C:\MinGW\bin
C:\Python37
C:\Python37\Scripts
默认系统为Windows 10,其他版本如左图。
要测试添加是否成功,以可以使用Git bash(如果已经开启请重启后再使用)。打开开始菜单在Git文件夹中寻找"Git bash"。运行后会显示一个命令行。键入cc
并点击Enter,应该得到的是类似于 "cc.exe: fatal error: no input files, compilation terminated." 的结果。这意味着编译器和其他一切都可以正常工作。但如果结果为 "cc: command not found" ,请检查Path路径和其他步骤是否出错。
现在键入python -h
,如果结果为"python: command not found",请检查Path路径和安装路径。正常的运行结果应为许多文字。
最后,要检查SCons是否正确安装,键入scons.py
,得到的结果应该是"scons: *** No SConstruct file found"。但出现"scons.py: command not found"时则需检查Path路径或者是否正确安装。
获取所需库
要完成MinGW的安装,打开Git Bash,复制或键入以下内容到终端。(右键点击并选择Paste)
mingw-get install gcc g++ mingw32-libbz2 bzip2 mingw32-libz zlib mingw32-pthreads-w32
为成功编译TPT我们需要获取一些库。可以在此处下载SDL,Lua和fftw: MingwLibraries.zip
复制这些文件夹至 C:\MinGW
在此处下载libsdl2
并在Development Libraries下下载 SDL2-devel-2.0.8-mingw.tar.gz
获得源代码
现在我们需要TPT源代码,使用Git Bash更能显示自己的专业技能。
新建并打开一个文件夹用于存放源代码,右键并选择"在此处打开Git Bash"会开启一个命令行。
接下来的命令会获取源代码和附带的历史信息
git clone http://github.com/ThePowderToy/The-Powder-Toy.git .
结尾的句号代表文件会被下载至当前目录,如果忽略则会在当前目录新建一个文件夹。
当命令结束后文件夹中会显示TPT源代码。
编译
到了编译环节,运行scons.py
后会检查库并开始编译。(如果出现无法解决的错误并想获得帮助,请查看文件夹中的config.log并将问题提交至 pastebin.com)取决于你的电脑性能,编译可能需要几分钟到几十分钟。如果编译成功,exe文件会存放在 build/ 文件夹,如果程序能正常运行,就可以开始编写自己的mod了。
此外,若你使用多核心处理器并且已经安装pywin32拓展模块,键入scons.py -j#
(#为CPU核心数,-j4为4核)会加快编译速度。
-- written by mniip, edited by jacob1 -- revision 2 with screenshots, by mniip --汉化 by TOC_Official