You can't have more than one main. If you truly do have multiple mains declared, then that's most likely what's confusing the compiler.
Check the macroes and #ifdefs to make sure that the mains aren't being "deactivated" or anything... if I remember correctly, there is quite different behavior for the Unix main and the Windows main. Maybe even the Windows version implements WinMain, which is the entry point for Win32 applications (as opposed to console applications.)
You said that you found multiple mains... you need to look at whether or not they're being seen by the compiler - e.g., the preprocessor definitions like #ifdef WIN32 - and then determine how to fix it if they're not - or if multiple ones are being seen.
What do you mean, SMAUG doesn't support WinMain? SMAUG doesn't care about that. That's just the entry point function for your application, and the compiler cares... not SMAUG. Of course, if SMAUG assumes that all your initialization is in main, not WinMain, then yes, you have to call that code somehow, but that's a compiler issue, not a SMAUG issue.
webserver.c and webclient.c are probably part of the IMC2 code that was originally packaged with Smaug. You should be able to safely remove those as they are ancient and probably of little value.