https://powdertoy.co.uk/Wiki/index.php?action=history&feed=atom&title=Compiling_tpt%2B%2B_with_Visual_studio%2Fzh
Compiling tpt++ with Visual studio/zh - Revision history
2024-11-28T03:15:15Z
Revision history for this page on the wiki
MediaWiki 1.30.0
https://powdertoy.co.uk/Wiki/index.php?title=Compiling_tpt%2B%2B_with_Visual_studio/zh&diff=8246&oldid=prev
TOC_Official at 05:22, 17 August 2021
2021-08-17T05:22:30Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 05:22, 17 August 2021</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{{Languages|Compiling tpt++ with Visual studio}}</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{{Languages|Compiling tpt++ with Visual studio}}</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''该教程已过时,请使用Meson编译TPT.'''</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''本翻译只经过初步验证,部分内容可能有误或与实际不符,详情请参看英文原版!'''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''本翻译只经过初步验证,部分内容可能有误或与实际不符,详情请参看英文原版!'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<!-- diff cache key mediawiki-pw_:diff:version:1.11a:oldid:7808:newid:8246 -->
</table>
TOC_Official
https://powdertoy.co.uk/Wiki/index.php?title=Compiling_tpt%2B%2B_with_Visual_studio/zh&diff=7808&oldid=prev
TOC_Official at 22:26, 3 October 2020
2020-10-03T22:26:53Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 22:26, 3 October 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l15" >Line 15:</td>
<td colspan="2" class="diff-lineno">Line 15:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===== VS的设置 =====</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===== VS的设置 =====</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>*下载[https://<del class="diffchange diffchange-inline">www</del>.<del class="diffchange diffchange-inline">visualstudio</del>.com/downloads/ Visual C++ 2019社区版],VS提供了很好的调试和自动编译工具。它是完全免费的;</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>*下载[https://<ins class="diffchange diffchange-inline">visualstudio</ins>.<ins class="diffchange diffchange-inline">microsoft</ins>.com<ins class="diffchange diffchange-inline">/zh-hans</ins>/downloads/ Visual C++ 2019社区版],VS提供了很好的调试和自动编译工具。它是完全免费的;</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* 在工作负载选项卡上,选择 "桌面开发与C++";</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* 在工作负载选项卡上,选择 "桌面开发与C++";</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* 进入单独组件选项卡,向下滚动到 "编译器、构建工具和运行时 "部分,选择 "Windows XP对C++的支持";</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* 进入单独组件选项卡,向下滚动到 "编译器、构建工具和运行时 "部分,选择 "Windows XP对C++的支持";</div></td></tr>
<!-- diff cache key mediawiki-pw_:diff:version:1.11a:oldid:7788:newid:7808 -->
</table>
TOC_Official
https://powdertoy.co.uk/Wiki/index.php?title=Compiling_tpt%2B%2B_with_Visual_studio/zh&diff=7788&oldid=prev
TOC_Official: Fix some grammar mistakes and replace ambiguous words
2020-08-12T15:50:18Z
<p>Fix some grammar mistakes and replace ambiguous words</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 15:50, 12 August 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{{Languages|Compiling tpt++ with Visual studio}}</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{{Languages|Compiling tpt++ with Visual studio}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''<del class="diffchange diffchange-inline">本翻译未经过验证,部分内容可能有误或与实际不符,详情请参看英文原版!</del>'''</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''<ins class="diffchange diffchange-inline">本翻译只经过初步验证,部分内容可能有误或与实际不符,详情请参看英文原版!</ins>'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>本页面是为你在Visual Studio上编译TPT的一个向导。如果你有任何问题,可以在[https://powdertoy.co.uk/Discussions/Categories/Topics.html?Category=5 The Powder Toy 论坛]<del class="diffchange diffchange-inline">上的开发帮助部分询问。如果你想使用旧的 tpt 编译教程(大概率不会),而不是 tpt</del>++ <del class="diffchange diffchange-inline">的教程,请在 </del>[[Compiling_tpt_with_Visual_Studio_(old)|这里]]<del class="diffchange diffchange-inline">找到它。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>本页面是为你在Visual Studio上编译TPT的一个向导。如果你有任何问题,可以在[https://powdertoy.co.uk/Discussions/Categories/Topics.html?Category=5 The Powder Toy 论坛]<ins class="diffchange diffchange-inline">上的开发帮助板块询问。如果你想编译旧版TPT(不,你不想),而不是 TPT</ins>++<ins class="diffchange diffchange-inline">(现在使用的版本),请遵照</ins>[[Compiling_tpt_with_Visual_Studio_(old)|这里]]<ins class="diffchange diffchange-inline">的步骤编译。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>编译TPT需要一些时间来配置环境,所以要有耐心,小心翼翼地按照说明来做。如果出现任何错误,90%<del class="diffchange diffchange-inline">的情况下,这意味着你错过了一个步骤或做错了什么。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>编译TPT需要一些时间来配置环境,所以要有耐心,小心翼翼地按照说明来做。如果出现任何错误,90%<ins class="diffchange diffchange-inline">的情况下,这意味着你'''错过了一个步骤或者犯了一些难以察觉的错误'''。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>在你能用未经修改的源码编译出TPT之前,建议不要编辑元素。</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">忠告:'''</ins>在你能用未经修改的源码编译出TPT之前,建议不要编辑元素。<ins class="diffchange diffchange-inline">'''</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">祝你们好运</del>!</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">祝你好运</ins>!</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===== 获取源码 =====</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===== 获取源码 =====</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>*<del class="diffchange diffchange-inline">转到http</del>://github.com/The-Powder-Toy/The-Powder-Toy/</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* <ins class="diffchange diffchange-inline">转到[[http</ins>://github.com/The-Powder-Toy/The-Powder-Toy/<ins class="diffchange diffchange-inline">|The Powder Toy Github Page]]获取源码;</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* <del class="diffchange diffchange-inline">应该有一个写着 </del>"zip "的按钮,上面写着 "zip "的云状图标。这是一个直接链接到源代码的.<del class="diffchange diffchange-inline">zip。下载并解压到你要编译的位置。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* <ins class="diffchange diffchange-inline">页面中应该有一个写着 </ins>"zip "的按钮,上面写着 "zip "的云状图标。这是一个直接链接到源代码的.<ins class="diffchange diffchange-inline">zip。下载并解压到你要编译的位置。(若无法打开网页请使用VPN等工具进行访问, 同样的, 可以使用Github代下载服务下载源码)</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=====<del class="diffchange diffchange-inline">设置 </del>=====</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>===== <ins class="diffchange diffchange-inline">VS的设置 </ins>=====</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>*下载[https://www.visualstudio.com/downloads/ Visual C++ 2019社区版]<del class="diffchange diffchange-inline">,因为它有很好的调试和自动编码工具。它是完全免费的;你需要一个Microsoft账户才能下载。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>*下载[https://www.visualstudio.com/downloads/ Visual C++ 2019社区版]<ins class="diffchange diffchange-inline">,VS提供了很好的调试和自动编译工具。它是完全免费的;</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* 在工作负载选项卡上,选择 "桌面开发与C++"<del class="diffchange diffchange-inline">。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* 在工作负载选项卡上,选择 "桌面开发与C++"<ins class="diffchange diffchange-inline">;</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* 进入单独组件选项卡,向下滚动到 "编译器、构建工具和运行时 "部分,选择 "Windows XP对C++的支持"<del class="diffchange diffchange-inline">。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* 进入单独组件选项卡,向下滚动到 "编译器、构建工具和运行时 "部分,选择 "Windows XP对C++的支持"<ins class="diffchange diffchange-inline">;</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* 在同一区域,选择 "Windows <del class="diffchange diffchange-inline">8.1 </del>SDK"(可能有不同的命名方式,如其他版本的Windows <del class="diffchange diffchange-inline">10 </del>SDK)<del class="diffchange diffchange-inline">。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* 在同一区域,选择 "Windows <ins class="diffchange diffchange-inline">10 </ins>SDK"(可能有不同的命名方式,如其他版本的Windows <ins class="diffchange diffchange-inline">XX </ins>SDK)<ins class="diffchange diffchange-inline">;</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* 打开Visual Studio,选择 "Windows <del class="diffchange diffchange-inline">8.1 </del>SDK"<del class="diffchange diffchange-inline">。如果你计划使用它超过30天,你应该用你的Microsoft帐户注册它(你不需要支付任何费用,它是免费的)。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* 打开Visual Studio,选择 "Windows <ins class="diffchange diffchange-inline">10 </ins>SDK"<ins class="diffchange diffchange-inline">。如果你计划使用它超过30天,你应该用你的Microsoft帐户注册它(你不需要支付任何费用,它是免费的);</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* 下载[https://starcatcher.us/TPT/Required%20Libraries.zip Required Libraries.zip]<del class="diffchange diffchange-inline">。将内容解压到项目根目录下 </del>(与.sln 文件的级别相同)<del class="diffchange diffchange-inline">。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* 下载[https://starcatcher.us/TPT/Required%20Libraries.zip Required Libraries.zip]<ins class="diffchange diffchange-inline">,将内容解压到项目根目录下 </ins>(与.sln 文件的级别相同)<ins class="diffchange diffchange-inline">;</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* 现在你需要安装Python来运行SCons和其他脚本。获取 Python 3 [https://www.python.org/ftp/python/3.6.5/python-3.6.5.exe <del class="diffchange diffchange-inline">这里</del>](此为3.6.5版本,如有需要,请在Python官网自行下载最新版本)。</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* 现在你需要安装Python来运行SCons和其他脚本。获取 Python 3[https://www.python.org/ftp/python/3.6.5/python-3.6.5.exe <ins class="diffchange diffchange-inline">点击此处</ins>](此为3.6.5版本,如有需要,请在Python官网自行下载最新版本)。</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==== 使用已有的项目文件 (推荐) ====</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==== 使用已有的项目文件 (推荐) ====</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l27" >Line 27:</td>
<td colspan="2" class="diff-lineno">Line 27:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* 打开Visual Studio解决方案文件(名称以.sln结尾的那个)。如果你使用的是最新版本的Visual Studio Community (例如2019年),请确保 "将警告视为错误 "选项设置为 "否"。你可以在属性 -> C/C++ -> 常规中找到这个选项。</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* 打开Visual Studio解决方案文件(名称以.sln结尾的那个)。如果你使用的是最新版本的Visual Studio Community (例如2019年),请确保 "将警告视为错误 "选项设置为 "否"。你可以在属性 -> C/C++ -> 常规中找到这个选项。</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* 点击F5。这应该会编译(需要一些时间),同时启动TPT,它将会问第一次运行时通常会问的所有问题。熟悉的文件和文件夹,如Saves,stamps和powder.pref会出现在你的源代码文件夹中。</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* 点击F5。这应该会编译(需要一些时间),同时启动TPT,它将会问第一次运行时通常会问的所有问题。熟悉的文件和文件夹,如Saves,stamps和powder.pref会出现在你的源代码文件夹中。</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* <del class="diffchange diffchange-inline">如果你到此为止,你已经成功编译了一个干净的源码,可以开始修改了,万分感谢</del>!</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* <ins class="diffchange diffchange-inline">如果你到此为止,你已经成功编译了一个未经修改的源码,可以开始进行修改了,非常棒</ins>!</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>==== <del class="diffchange diffchange-inline">自己制作项目文件(不推荐) </del>====</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>==== <ins class="diffchange diffchange-inline">自己制作项目文件(不推荐且未经测试) </ins>====</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">不建议大家手动设置项目。这很容易出错和编译错误。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">不建议大家手动设置项目。这样很容易出现编译错误。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* 打开Visual Studio,按 "文件">"新建">"从现有代码中新建项目"。</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* 打开Visual Studio,按 "文件">"新建">"从现有代码中新建项目"。</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l99" >Line 99:</td>
<td colspan="2" class="diff-lineno">Line 99:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===== 可选:静态编译 =====</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===== 可选:静态编译 =====</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">当静态编译TPT时,你不需要有DLLs来运行它,也不需要随项目一起分发。官方的TPT是这样做的。但它需要较长的时间来编译,所以你可能只想在发布版本中使用。</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">当静态编译TPT时,你不需要DLLs来运行,也不需要随项目一起分发。官方的TPT是这样做的。但它需要较长的时间来编译,所以你可能只想在发布版本中使用。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>如果你使用的是预制项目,它已经内置了静态选项。在顶部栏中,点击 "调试 "的下拉菜单,选择 "静态",然后按F7键,用这个新设置再次编译TPT。就这样,你就大功告成了;如果你是自己做的项目,请继续阅读本节。</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>如果你使用的是预制项目,它已经内置了静态选项。在顶部栏中,点击 "调试 "的下拉菜单,选择 "静态",然后按F7键,用这个新设置再次编译TPT。就这样,你就大功告成了;如果你是自己做的项目,请继续阅读本节。</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l131" >Line 131:</td>
<td colspan="2" class="diff-lineno">Line 131:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===== 让 TPT 更快 =====</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===== 让 TPT 更快 =====</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>你可能已经注意到,你刚编译的TPT的性能至少可以说是糟糕透顶。要解决这个问题,点击顶部栏上的 "调试 "的下拉菜单,选择 "<del class="diffchange diffchange-inline">释放</del>",然后点击F7再次编译TPT。</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>你可能已经注意到,你刚编译的TPT的性能至少可以说是糟糕透顶。要解决这个问题,点击顶部栏上的 "调试 "的下拉菜单,选择 "<ins class="diffchange diffchange-inline">Release</ins>",然后点击F7再次编译TPT。</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>这样一来,你基本上是用调试的方便性换取了速度,这意味着虽然TPT会变得更快,但如果出现了严重的bug,而Visual Studio恰好赶上了崩溃,你将无法弄清楚为什么会发生这种情况,至少不容易。当这种情况发生时,只需切换回Debug,重新编译并尝试重现崩溃。</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>这样一来,你基本上是用调试的方便性换取了速度,这意味着虽然TPT会变得更快,但如果出现了严重的bug,而Visual Studio恰好赶上了崩溃,你将无法弄清楚为什么会发生这种情况,至少不容易。当这种情况发生时,只需切换回Debug,重新编译并尝试重现崩溃。</div></td></tr>
<!-- diff cache key mediawiki-pw_:diff:version:1.11a:oldid:7690:newid:7788 -->
</table>
TOC_Official
https://powdertoy.co.uk/Wiki/index.php?title=Compiling_tpt%2B%2B_with_Visual_studio/zh&diff=7690&oldid=prev
TOC_Official: Add Simplified Chinese Version (Not accurate)
2020-04-12T13:38:02Z
<p>Add Simplified Chinese Version (Not accurate)</p>
<p><b>New page</b></p><div>{{Languages|Compiling tpt++ with Visual studio}}<br />
'''本翻译未经过验证,部分内容可能有误或与实际不符,详情请参看英文原版!'''<br />
<br />
本页面是为你在Visual Studio上编译TPT的一个向导。如果你有任何问题,可以在[https://powdertoy.co.uk/Discussions/Categories/Topics.html?Category=5 The Powder Toy 论坛]上的开发帮助部分询问。如果你想使用旧的 tpt 编译教程(大概率不会),而不是 tpt++ 的教程,请在 [[Compiling_tpt_with_Visual_Studio_(old)|这里]]找到它。<br />
<br />
编译TPT需要一些时间来配置环境,所以要有耐心,小心翼翼地按照说明来做。如果出现任何错误,90%的情况下,这意味着你错过了一个步骤或做错了什么。<br />
<br />
在你能用未经修改的源码编译出TPT之前,建议不要编辑元素。<br />
<br />
祝你们好运!<br />
<br />
===== 获取源码 =====<br />
*转到http://github.com/The-Powder-Toy/The-Powder-Toy/<br />
* 应该有一个写着 "zip "的按钮,上面写着 "zip "的云状图标。这是一个直接链接到源代码的.zip。下载并解压到你要编译的位置。<br />
<br />
=====设置 =====<br />
*下载[https://www.visualstudio.com/downloads/ Visual C++ 2019社区版],因为它有很好的调试和自动编码工具。它是完全免费的;你需要一个Microsoft账户才能下载。<br />
* 在工作负载选项卡上,选择 "桌面开发与C++"。<br />
* 进入单独组件选项卡,向下滚动到 "编译器、构建工具和运行时 "部分,选择 "Windows XP对C++的支持"。<br />
* 在同一区域,选择 "Windows 8.1 SDK"(可能有不同的命名方式,如其他版本的Windows 10 SDK)。<br />
* 打开Visual Studio,选择 "Windows 8.1 SDK"。如果你计划使用它超过30天,你应该用你的Microsoft帐户注册它(你不需要支付任何费用,它是免费的)。<br />
* 下载[https://starcatcher.us/TPT/Required%20Libraries.zip Required Libraries.zip]。将内容解压到项目根目录下 (与.sln 文件的级别相同)。<br />
* 现在你需要安装Python来运行SCons和其他脚本。获取 Python 3 [https://www.python.org/ftp/python/3.6.5/python-3.6.5.exe 这里](此为3.6.5版本,如有需要,请在Python官网自行下载最新版本)。<br />
<br />
==== 使用已有的项目文件 (推荐) ====<br />
* 双击vsproject.py文件,它会显示一个控制台窗口,然后消失。之后,应该会出现三个Visual Studio文件。<br />
* 打开Visual Studio解决方案文件(名称以.sln结尾的那个)。如果你使用的是最新版本的Visual Studio Community (例如2019年),请确保 "将警告视为错误 "选项设置为 "否"。你可以在属性 -> C/C++ -> 常规中找到这个选项。<br />
* 点击F5。这应该会编译(需要一些时间),同时启动TPT,它将会问第一次运行时通常会问的所有问题。熟悉的文件和文件夹,如Saves,stamps和powder.pref会出现在你的源代码文件夹中。<br />
* 如果你到此为止,你已经成功编译了一个干净的源码,可以开始修改了,万分感谢!<br />
<br />
==== 自己制作项目文件(不推荐) ====<br />
<br />
不建议大家手动设置项目。这很容易出错和编译错误。<br />
<br />
* 打开Visual Studio,按 "文件">"新建">"从现有代码中新建项目"。<br />
* 选择包含源代码的文件夹,而不是src/,而是包含src/,build/,include/和其他一些文件夹。给项目起个什么名字都行。单击 "下一步"。<br />
* 如果还没有选择Windows应用程序项目,请选择Windows应用程序项目,然后不勾选所有内容。单击 "下一步"。<br />
* 在预处理程序定义下,键入以下内容<br />
<code><br />
WIN,<br />
X86,<br />
X86_SSE2,<br />
STABLE,<br />
GRAVFFT,<br />
LUACONSOLE,<br />
IGNORE_UPDATES,<br />
_SCL_SECURE_NO_WARNINGS<br />
</code><br />
<br />
注意:如果编译时出现错误,请尝试手动输入错误,而不是复制粘贴。<br />
* 单击 "完成"。项目将被创建。<br />
* 在 Build > Configuration Manager 下,打开 "Active Solution Configuration: "下的下拉框,将其更改为 "Release"。(除非你有很好的理由将其保留为 "Debug",否则运行速度会比 "Release"慢)。<br />
* 转到 "项目">"属性"。<br />
* 在最上面的 "配置。活动(Release),打开下拉菜单,将其改为 "所有配置"。如果你想切换到调试模式,这将使其更容易。<br />
* 在 "配置属性">"常规 "下。<br />
* 更改输出目录,从<br />
<code>$(SolutionDir)$(Configuration)\</code><br />
到 <br />
<code>$(SolutionDir)Build\</code><br />
(注意"$(SolutionDir) "和 "Build/"之间没有反斜线)。<br />
* 将目标名称改成你希望编译后的文件的名称,除去".exe "扩展名。(或者直接将其作为项目名称来命名)<br />
* 在 "配置属性">"VC++目录 "下。<br />
* 打开Include Directories的下拉菜单(如果你没有看到打开下拉菜单的箭头,请尝试点击该行),点击"<编辑...>",然后添加<br />
$(ProjectDir)includes<br />
$(ProjectDir)includes\SDL2<br />
$(ProjectDir)includes\luajit-2.0<br />
$(ProjectDir)data<br />
$(ProjectDir)src<br />
$(ProjectDir)generated<br />
$(ProjectDir)resources<br />
<br />
(准确地键入----同时注意,"$(ProjectDir) "和 "include "之间没有反斜线)。<br />
* 打开库目录的下拉菜单,点击"<编辑...>",并添加<br />
<br />
<code> $(ProjectDir)Libraries</code><br />
<br />
(注意,"$(ProjectDir) "和 "Libraries "之间没有反斜线)<br />
* 转到配置属性 > C/C++。<br />
* 在 "常规 "下,打开 "警告级别 "的下拉菜单,选择 "Level1 (/W1)"。这将使你在编译过程中遇到任何错误时更容易,因为你不需要通过一堆不重要的警告来找到错误。<br />
* 在 "常规 "下,打开 "多处理器编译 "的下拉菜单,选择 "是(/MP)"。这将使编译器使用多个内核,而不是只有一个内核,这将有助于加快编译时间。<br />
* 如果您使用的是最新版本的Visual Studio Community (例如2019年),请确保 "常规 "下的 "将警告视为错误 "选项设置为 "否"。<br />
* 在 "代码生成 "下,打开 "浮点模型 "的下拉菜单,将其设置为 "快速"。这将使你的速度明显提高)。另外,在它的右上方,将 "Enable Enhanced Instruction Set "改为SSE2。<br />
* 转到 "配置属性">"链接器">"输入"。<br />
* 打开下拉菜单中的 "附加依赖项",点击"<编辑...>",然后输入以下文本<br />
shell32.lib<br />
ws2_32.lib<br />
SDL2.lib<br />
SDL2main.lib<br />
libbz2.lib<br />
pthreadVC2.lib<br />
luajit2.0.lib<br />
libfftw3f-3.lib<br />
zlib.lib<br />
<br />
* 按下 "确定 "键,直到关闭项目属性。<br />
* 按键盘上的F7键,或者点击Build > Build Solution。你也可以点击绿色的 "开始调试 "箭头。<br />
* 如果出了问题(例如,你得到一个错误),请在[https://powdertoy.co.uk/Discussions/Categories/Topics.html?Category=5 Powder Toy论坛]上询问。<br />
* 在你的源代码目录下的 "Build "文件夹中可以找到可执行程序和所需的DLLs。<br />
<br />
===== 可选:静态编译 =====<br />
当静态编译TPT时,你不需要有DLLs来运行它,也不需要随项目一起分发。官方的TPT是这样做的。但它需要较长的时间来编译,所以你可能只想在发布版本中使用。<br />
<br />
如果你使用的是预制项目,它已经内置了静态选项。在顶部栏中,点击 "调试 "的下拉菜单,选择 "静态",然后按F7键,用这个新设置再次编译TPT。就这样,你就大功告成了;如果你是自己做的项目,请继续阅读本节。<br />
* 在Build > Configuration Manager下,进入Active Solution Configuration下,点击New。将它命名为静态(或任何你想叫它的名字),然后选择从 "发布 "中复制设置。另外,别忘了把默认模式从X64改成X86。<br />
* 在 "配置属性">VC++目录下,打开下拉菜单中的库目录,点击"<编辑...>",将其从<code>$(ProjectDir)Libraries</code>改为: <code>$(ProjectDir)Staticlibs</code>。<br />
* 转到 Configuration Properties(配置属性)> Linker(链接器)> Input(输入),打开下拉菜单 "Additional Dependencies",然后点击"<Edit...>",将这些添加到列表中。<br />
<br />
PTW32_STATIC_LIB<br />
ZLIB_WINAPI<br />
<br />
* 在 "代码生成 "下,将 "运行时库 "改为 "多线程(/MT)"<br />
* 转到 "配置属性">链接器>高级,将 "Image Has Safe Exception Handlers "改为 "No (/SAFESEH:NO)"<br />
<br />
你现在可以轻松地在 "调试 "模式和 "静态 "模式之间进行切换,在 "调试 "模式下编译,用于快速、正常的测试,而在 "静态 "模式下编译,用于发布一个exe供人们使用。<br />
<br />
===== 可选:设置 Git =====<br />
如果你使用GitHub,你可以很容易地保持最新的变化。这样一来,你的mod就不会过时了,你也不用为了更新到新版本而把所有的东西都复制过来。<br />
你可以在[[Github_Setup|这里]]中找到教程。<br />
<br />
===== 添加新元素 =====<br />
* '''双击'''newelement.py。这将打开一个控制台窗口,要求输入一个元素的名称,这个名称应该只包含大写字母、数字和连字符(你可以在菜单中显示一个更奇特的名称,但不建议使用)。输入元素的名称,然后按回车键。你会被要求在 src/simulation/ElementNumbers.h 中添加一段代码;当你完成后按回车键,窗口将关闭,你的元素将被创建:它的源码将显示为 src/simulation/elements/NAME.cpp。<br />
* 在Visual Studio中,在Solution Explorer中导航到The-Powder-Toy/src/simulation/elements,然后添加新创建的.cpp文件(最好是添加到正确的子文件夹中)(具体方法请参见[https://powdertoy.co.uk/Wiki/W/Coding-tutorial.html#Step_One:_Defining_the_Element]),然后按F7键,用新元素再次编译TPT。这将需要相对较长的时间。<br />
* 每当你改变这个文件中的东西时,按F7来编译(或按F5来编译并运行)TPT。如果你只修改这个文件,编译的时间会比添加新元素时短很多。<br />
<br />
===== 移除新元素 =====<br />
<br />
* 在Solution Explorer中右击元素的.cpp文件,在弹出的对话框中选择删除。<br />
* 撤销你在创建元素时应用的newelement.py所做的更改;换句话说,从src/simulation/ElementNumbers.h中删除相关的代码。<br />
* 在Visual Studio中,点击F7来重新编译TPT,不需要元素。<br />
<br />
===== 让 TPT 更快 =====<br />
<br />
你可能已经注意到,你刚编译的TPT的性能至少可以说是糟糕透顶。要解决这个问题,点击顶部栏上的 "调试 "的下拉菜单,选择 "释放",然后点击F7再次编译TPT。<br />
<br />
这样一来,你基本上是用调试的方便性换取了速度,这意味着虽然TPT会变得更快,但如果出现了严重的bug,而Visual Studio恰好赶上了崩溃,你将无法弄清楚为什么会发生这种情况,至少不容易。当这种情况发生时,只需切换回Debug,重新编译并尝试重现崩溃。<br />
<br />
===== (过时)SCons =====<br />
你可以在命令行中使用SCons来用visual studio编译器编译。这个选项在大多数情况下可能没有什么用,但还是有的。使用命令 "scons.py --msvc",它将尝试找到并使用32位msvc编译器。它支持SConscript中的大部分选项,包括 --static,它可以生成完全静态的二进制文件(甚至不需要msvcr120.dll,但本指南需要)。<br />
<br />
[[Category:开发]]<br />
[[Category:编译]]</div>
TOC_Official