如何编译 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

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

翻译:如何编译 Gunz 源代码的更多相关文章

  1. 使用 IntelliJ IDEA 导入 Spark源码及编译 Spark 源代码

    1. 准备工作 首先你的系统中需要安装了 JDK 1.6+,并且安装了 Scala.之后下载最新版的 IntelliJ IDEA 后,首先安装(第一次打开会推荐你安装)Scala 插件,相关方法就不多 ...

  2. Mac OS X上尝试编译CoreCLR源代码

    CoreCLR登陆GitHub之后,体验CoreCLR首当其冲的方式就是在自己的电脑上编译它,昨天分别在Windows与Linux上成功编译了CoreCLR,详见: 1)Windows上成功编译Cor ...

  3. 编译Android源代码与内核总结

    这些天花了些时间自己下载了android源代码来编译,当中走了一些弯路导致耗了些时间,如今又一次梳理总结下,让有同样想法的人自己编译的时候能少走些弯路,官方指导文档在http://source.and ...

  4. Linux 编译安装 源代码

    编译安装 源代码包的安装一般为下载软件源代码,然后编译安装. 常见的C程序软件的安装步骤是 configure, make, make install三部曲,大致是下面这样操作: 首先得安装gcc.m ...

  5. CSDN开源夏令营 基于Compiz的switcher插件设计与实现之编译compiz源代码

    在開始介绍之前先吐个嘈:上周我们暑期ACM集训開始了.平均下来基本上是一天一赛.有时还不止.又是多校联赛,又是CodeForces,又是TopCoder.又是BestCoder,又是AcDream.还 ...

  6. 编译JDK源代码【转】

    用Eclipse Debug,当跟踪进jdk api里时(比如javax.swing包里的类),无法查看某些local filed的值.这是因为jdk里的代码在打包时删除了一些用于调试的信息,以减小安 ...

  7. cygwin下编译zlib源代码

    本文介绍在cygwin下编译zlib源代码的方法步骤,这个过程尽管简单,但还是有一些须要注意的地方. zlib源代码下载地址: http://www.zlib.net/ 下载后.解压就会生成zlib- ...

  8. 2.2开源的魅力:编译opencv源代码

    1.下载安装CMake 要在Windows平台下生成opencv的解决方案,需要一个名为CMake的开源软件.CMake的全称是crossplatform make.它是一个跨平台的安装(编译)工具, ...

  9. C语言学习013:通过make编译C源代码

    编译多个C源代码文件 当程序文件越来越多,修改了其中的一部分代码文件,我们并不需要全部重新编译,只需要编译其中一部分就可以,下面我们创建了一个launch程序,除了主程序,我们创建了3个功能代码文件r ...

随机推荐

  1. BZOJ 4247 挂饰 背包DP

    4247: 挂饰 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id ...

  2. Lua学习教程之 可变參数数据打包与解包

    利用table的pack与unpack进行数据打包与解包.測试代码例如以下: print("Test table.pack()----------------"); functio ...

  3. delphi 立即显示提示

    procedure TForm1.FormCreate(Sender: TObject); begin  Application.HintPause:=0;//立即显示  Application.hi ...

  4. JAVA数组的定义及用法

    数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素. 1. 一维数组 1.1 一维数组的定义 type arrayName[]; type[] arrayName; ...

  5. java中的正则操作总结

    http://www.cnblogs.com/nerxious/archive/2013/01/03/2842910.html 正则表达式在处理字符串的效率上是相当高的 关于正则表达式的使用,更多的是 ...

  6. 动态SQL使用小结

    1.什么是动态SQL? 静态 SQL:静态 SQL 语句一般用于嵌入式 SQL 应用中,在程序运行前,SQL 语句必须是确定的,例如 SQL 语句中涉及的列名和表名必须是存在的.静态 SQL 语句的编 ...

  7. 个人对maven pom.xml文件的理解

    如:一个项目可能需要引用另外两个项目的类.. 如 项目cswebbefore  需要引用cswebservice 和reports 这三个项目都有各自的pom.xml文件 cswebservice 项 ...

  8. spring4.x注解概述

    1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能,因项目中用到不少注解,因此下定决心,经spring4.x中涉及到的注解罗列出来,供查询使用. 2. spring注解图     ...

  9. c语言函数传递数组

    1.传递数组,打印不出来 #include <stdio.h> void solve() { printf(]); } int main() { int i; ;i<n;i++) { ...

  10. Cookie和Session(session过程和设置进程外session)

    cookie 和  session 的区别 cookie 是保存在客户端上的一种机制   而session 是保存在服务端的一种机制 cookie的理解: 打个简单的比方,一个人生病了去A医院看病,回 ...