在Linux或者Unix下的编译mudos过程
2021/4/7 11:21:54

MudOS 是整个Mud的基础。一个成功Mud 不只需要一个成熟的MudLIB,而且需要一个稳定的MudOS。而对于不同版本的MudOS,MudLIB也需要一定的修改。如何修改就不是本文的主要介绍内容,以后有时间继续和大家谈谈如何对于不同版本的MudOS来修改MudLIB。本次的主要内容是如何在 Linux上成功的编译MudOS和使用编译好的MudOS成功架设一个Mud。 

  现在流行的MudOS有两个版本:MudOS v22pre11和 MudOS v22.1b22。这两个版本的MudOS差异甚大,但是在不同版本的Linux下编译过程基本上是一样的。下面就以v22pre11来介绍如何编译MudOS。
  1、获得MudOS 源代码:
对于C ++功力不够的巫师还无法修改。而从这里下载的源代码已经修改好了,不需要修改就可以直接编译。
这里经常见到的错误有
●没有下载原始MudOS源代码的补丁(MudOS V22pre11源代码)。
●原始的MudOS 源代码中的几个文件有错误必须经过修改后才能成功架设Mud。否则就虽然能成功编译MudOS 但是启动Mud 时会出现各种的错误。 
2、上传源代码到服务器。
在上传过程中有些朋友会做出一些致命的错误如下:
●将下载回的tar 压缩包解开后在用WinZip压缩后才上传。×这个是不行的。因为用WinZip压缩后的所有文件都为Dos格式。Linux或Unix下的文件格式不同。所以在服务器解压开的文件内每行尾都有一个^M的符号。Unix是不能承认的。无法编译成功。
自然做法只有一个了,把从这里下载的MudOS V22pre11源代码直接上传到服务器,用Linux特有的解压命令进行解压:
命令格式:
解压 tar -zcvf XX.tgz XX 或者zcat XX.tar|tar xv 
3、执行编译初始化Shell命令集。
执行命令:
./build.MudOS
常见问题:
●没有严格遵守Lunix和Unix下的文件名格式。(只要做好上面一步上传工作就没问题)
●要严格打入build.MudOS。
●还有一点就是字母的大小写问题也使很重要的,大写的就必须大写,小写的就必须小写,否则错误。
推荐:
由于不同的Lunix版本,使用的Shell也不同,所以最好用以下格式打入此命令:
./build.MudOS
执行后显示如下: 

./build.MudOS
Preparing to build standard MudOS driver ...
Trying out some stuff to see what works; ignore errors ...
./build.MudOS: gmake: command not found
make: Nothing to be done for `nothing'.
./build.MudOS: xlc: command not found
mkdir: cannot make directory `tmp': File exists
install: illegal option -- f
Try `install --help' for more information.
rm: tmp/insttest: No such file or directory
mkdir: cannot make directory `obj': File exists
***************** Configuration completed **************
Installing MudOS on Linux 
Using install -c to install binaries in ../bin.
Using gcc -E for preprocessing.
Using gcc -O2 -fomit-frame-pointer -fstrength-reduce to compile.
Using bison -d -y to make the compiler.
Edit GNUmakefile if this is not what you want 
Otherwise, type 'make' to build MudOS, then 'make install'. 

图片: 
4、执行编译清除旧文件。
命令格式: make clean
执行后显示情况如下: 

make clean
(cd packages; make clean)
make[1]: Entering directory `/home/zeus/mudos/v22pre11/v22pre11/src/packages' 
rm -f *.o
rm -f packages.a
make[1]: Leaving directory `/home/zeus/mudos/v22pre11/v22pre11/src/packages'
(cd mudlib; make clean)
make[1]: Entering directory `/home/zeus/mudos/v22pre11/v22pre11/src/mudlib'
rm -f *.o
rm -f mudlib.a
make[1]: Leaving directory `/home/zeus/mudos/v22pre11/v

下一页
返回列表
返回首页
©2024 MUD游戏网_文字mud 电脑版
Powered by iwms