08
2013
01

Mudos V22pre11在windows xp下的编译

网上找的mudos编译完全手册(包括本论坛转载的)有些关键地方需要修正
这次编译,并不完全是在windows下完成的,因为有些文件在windows下无法生成。
编译环境:
Windows Xp sp2,VC6.0(最好)和VS2003均可。还有一个工具是UltraEdit  v15.10.0.1019(用来转换格式)

至于什么bison这些,我没有需要

现在来说步骤
    1,首先下一份mudos V22pre11源代码,首先在lfreebsd环境下编译,linux下应该也可以,如果你没有,你可以叫朋友帮忙编译好
然后把所有的编译好的代码文件都发给你,这里面就会有关键的文件,比如类似grammar.tab.h等
    2。这里是最关键的。把windows下的Mudos.mak文件放到上层代码目录下,然后,用UltraEdit 打开mak文件,利用里面的替换,把^n替换成^p,为什么要做这一步?主要是把unix格式的换行符变成windows下的换行符,然后保存。用VC6.0打开mudos.mak,应该就可以看到代码文件了,如果不转换,是无法看到代码文件的,我当初就卡在这里。
    3,现在,如果没有cc.h,那你就添加一个cc.h文件,如果有了,那么替换一下,内容如下:
#define COMPILER "cl" 
#define OPTIMIZE "-G4" 
#define CFLAGS "-DWIN32 -D_ALL_SOURCE -G4" 
#define OBJDIR "obj" 
4,删除 工程里的malloc.c,mallocwrapper.c,在工程里添加package/uids.c,package/mudlib_stats.c

5,修改 backend.c 中的函数 call_heart_beat(): 
删除以下: 
#ifdef WIN32 
static long Win32Thread = -1; 
#endif 
删除以下: 
if (Win32Thread == -1) Win32Thread = _beginthread(alarm_loop, 256, 0); 

6,修改 crc32.h 在 compute_crc32 函数之前加入: 
typedef unsigned int UINT32; 
修改 crc32.c 在前面增加: 
#include "crc32.h" 

7,修改 crypt.h 中的句子 
char *custom_crypt( CONST char *key, CONST char *salt, byte *rawout);
为 
char *custom_crypt( char *key, char *salt, byte *rawout); 
(即删除所有的 CONST) 

8,将 interface.h, efuns_main.c, compile_file.c, mudlib/interface.c 中所有名为 interface 的变量名都替换成 if_t_array。 

9,修改configure.h文件为下列内容,如果没有,请创建:
#define INCL_STDLIB_H
#define INCL_TIME_H
#define INCL_FCNTL_H
#define INCL_DOS_H
#define INCL_SYS_STAT_H
#define INCL_LIMITS_H
#define USE_STRUCT_DIRENT
#define INCL_STDARG_H
#define HAS_MEMMOVE
#define RAND
#define HAS_STRERROR
#define HAS_GETCWD

#define SIZEOF_INT 4
#define SIZEOF_PTR 4
#define SIZEOF_SHORT 2
#define SIZEOF_FLOAT 4
#define SIZEOF_INT 4
#define SIZEOF_PTR 4
#define SIZEOF_SHORT 2
#define SIZEOF_FLOAT 4
#define CONFIGURE_VERSION    5

好了。编译你的Mudos吧

编译好之后,是一个win32控制台的mudos,在winxp下可以运行,其他平台没测试

运行办法:
把生成好的mudos放到你mudlib的bin目录下,然后在创建一个快捷方式在当前目录,查看快捷方式的属性,并在目标那一栏mudos.exe后面空格加上你的config文件,比如:
F:\xkx\bin\MudOS.exe config.xkx
然后运行你的快捷方式,成功

 

« 上一篇下一篇 »

评论列表:

1.huns  2013-11-5 16:26:33 回复该留言
老大,有没有法子在windows编译一下fluffos?感谢
.xiaqiang  2013-12-30 16:39:58 回复该留言
windows版本的fluffos是FluffOS 3.0 alpha8
编译教程见
http://fluffos.github.io/build.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。