Are you compiling with /NODEFAULTLIB? The simplest way to fix your problem in that case would be to allow linking with the MSVC runtime libraries - in project options go to linker, somewhere there is a "Ignore default libraries" option, change it to NO.
Alternatively if you want to remain free from the runtime libraries, you need to implement the missing functions yourself (that's the unresolved symbols the linker complains about). In this case you have memset somewhere in your code, I just ran into this too, here is the code I used:
__forceinline void _MEMSET_( void *_dst, int _val, size_t _sz )
{
while ( _sz ) ((BYTE *)_dst)[--_sz] = _val;
}Add that in, and replace calls to memset with calls to this _MEMSET_.
I think it starts complaining about this when you move a VS2003 project to VS2005, because VS2003 I believe used the old msvcrt.lib whereas VS2005+ use the newer runtimes? But I just started this, so that's just my guess. I suppose if that's true, you can find a copy of msvcrt.lib and link it..?
EDIT: Nevermind, just read that you managed to compile with the default libraries.

Oh well, maybe this will give you some help if you decide you'd rather not use them after all!