如何编译 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. 2015南阳CCPC C - The Battle of Chibi DP

    C - The Battle of Chibi Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 无 Description Cao Cao made up a ...

  2. delphi 18 屏蔽和替换 右键菜单

    //屏蔽右键菜单procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;  var Handled: Boolean);begin  wi ...

  3. session销毁

    session.invalidate(),session.invalidate的销毁是把这个session所带的用户彻底的销毁,这个session跟用户已经紧密联合在一起,所以就一起销毁了,这样就算换 ...

  4. c语言函数传递数组

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

  5. oracle数据库元数据SQL查询

    oracle数据库经典SQL查询 .查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from ...

  6. Fliptile

      开关题   尺度法  Fliptile Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3394   Accepted:  ...

  7. 前端必会html知识整理

    1.浏览器内核:         1.ie:trident(三叉戟)内核         2.firefox:gecko(壁虎)内核         3.safari:webkit(浏览器核心)内核 ...

  8. javascript oop深入学习笔记(一)

    一.定义和实例化一个类: 在OOP的思想中,类是一个很重要的元素,一个类表示了具有相似的一类事物的抽象,通过实例化一个类,可以获得属于该类的一个实例,我们也可以称之为对象. 在javascript中, ...

  9. android一些基础知识

    android应用基于JAVA, 支持SQL,由于底层是LINUX,所以支持C/C++ 目前有两种编程:基于ADT的JAVA编程,基于NDK的C编程 Android编程环境需要哪些:官方推荐用JDK+ ...

  10. mysql由于外键关联无法删除数据

    在mysql中删除一张表时候,出现 Error No. 1451 Cannot delete or update a parent row: a foreign key constraint fail ...