I am compiling MudOS v22.2b14 on Windows... If you don't know what's a MudOS or a MUD, don't ask me and just let it be. Anyway, it is a nightmare compiling such old softwares...
First of all I don't have a VC6 now, neither can i find from MSDN subscriptions. I tried to compile all with VC.NET 2003, which has the most similar cl.exe with VC6.
After setting most of the stuff as suggested at here (page in Chinese, sorry). I still need to modify somethings manually. One of those are those related to bison. As I am using the GnuWin32 version, it seems to have little different behavior with the original one. Like it creates XXXX.tab.c instead of XXXX_tab.c from XXXX.y. This is fixed by using the following command line instead:
bison make_func.y -o make_func_tab.cAnother problem with this GnuWin32 bison is a funny bugs. I got the following compile error when compiling edit_source.exe:
make_func_tab.c(929) : error C2449: found '{' at file scope (missing function header?)Hey, a missing funtion header with code gerneted by bison....?! Having checking the code:
#ifdef YYPARSE_PARAM
# if defined (__STDC__) || defined (__cplusplus)
int yyparse (void *YYPARSE_PARAM)
# else
int yyparse (YYPARSE_PARAM)
void *YYPARSE_PARAM;
# endif
#else /* ! YYPARSE_PARAM */
#if defined (__STDC__) || defined (__cplusplus)
int
yyparse (void)
#else
int
yyparse ()
;
#endif
#endif
{
...
What the... There is a suspcious semi-colon after the line of yyparse()... It may be the cause of the problem. However as I have just played with bison once or twice in one of my university course, I can't ensure my action is correct. So I have made a google search and found this thread. Oh, it was a old bug which has been already fixed in 2.3. Check the GnuWin32 bison version again, oops, it's 2.1... So I just removed the colon and compile again... and it seems to have done.
Now I am going to continue my compiling and wish me luck...!


0 comment(s):
Post a Comment
HTML Tags allowed (e.g. <b>, <i>, <a>)