翻译:如何编译 Gunz 源代码

时间:2021-06-02 15:12:50

如何编译 Gunz 源代码

本文翻译自:How to build Gunz source code

各位好,近期 Dawson 发布了 Gunz 的源代码,所以我就来做个简单的教程,来说明如何编译 Gunz 项目。

前提条件:
- XP 专业版 SP3
- Microsoft Visual Studio 2003, 带有C++编译功能

编译过程:
1 下载 源代码
2 创建一个名为 Gunz 的文件夹。
3 在此文件夹中,解压 Gunz 的源码包,然后你会看到 Gunz下有一个名为 Stable 的文件夹。
4 在 Gunz 下创建一个名为 sdk 的文件夹。
5 在 sdk 中创建一个名为 crypto 的文件夹,这时,文件夹目录看起来是这样的:
./Gunz/Stable
./Gunz/sdk/crypto
6 下载 Crypto++ 5.2.3 Win32, SourceForge.Net
7 解压 crypto++ 到 文件夹 Cryptopp 中(在 Gunz 的外面)
8 拷贝 Cryptopp/Include 中的内容到这两个文件夹中:
Cryptopp/Source
GUnz/sdk/crypto
9 打开 Cryptopp 的项目文件:Crytopp/Source/cryptlib.vcproj
10 分别以 Debug 与 Release 模式,构建(Buid)工程。
11 重命名 Cryptopp/Source/Debug/cryptlib.lib 为 cryptlib2003d.lib
12 重命名 Cryptopp/Sourc/Release/cryptlib.lib 为 cryptlib2003.lib
13 拷贝 cryptlib2003d.lib 与 cryptopp.lib 到这两个目录下:
Gunz/Stable/cml/lib
Gunz/Stable/Gunz/LIB

注意:你可能会需要拷贝这个 .lib 文件到其他的目录中,如果你希望 编译/构建 (Build) MatchServer, Locator 等其他解决方案。
14 打开 Gunz 解决方案:Gunz/Stable/Gunz/Gunz.sln
15 在 Gunz 项目中,打开这个文件: Gunz/Game/ZGlobal.cpp ,将此行注释掉:
#include "SVNRevision/SVNRevision.cpp"
结果为: //#include "SVNRevision/SVNRevision.cpp";
再把这一行: return GlobalGetSVNRevision(); 替换为: return 0;
16 编辑资源文件: Gunz/Stable/Gunz/Gunz.rc, 找到这一行:
MANIFEST_RESOURCE_ID RT_MANIFEST "Runtime/Gunz.exe.manifest"
把它替换为(注释掉):
// MANIFEST_RESOURCE_ID RT_MANIFEST "Runtime/Gunz.exe.manifest"
然后保存文件。
17 现在,你应该可以 在 Debug 与 Release 模式下编译 Gunz 了,编译后的文件都在这个目录中:Gunz/Stable/Gunz/runtime

如果你在编译过程中遇到了什么问题, 不要哭着喊着来找我,自己搞定吧。