I am building gocache on Windows - Visual C++ 2005 Express Edition, Windows Vista SDK, MozillaBuild (MSYS) environment. A few things fail:
1. Function WriteFile() in stats.c conflicts with a Windows function of the same name. Renaming the function fixes the issue.
2. Unresolved symbol __imp__SHGetSpecialFolderPathA@16 - specifying shell32.lib as input to the linker helps.
3. Unresolved symbols _closedir & co. - dirwin32.c didn't get compiled.
The issues 2 and 3 go away if I do "export CC=cl" - which is non-obvious given that the configure script recognizes the compiler even if I don't specify it explicitly, it just doesn't treat it as MSVC then. However, I then get a different issue - the flag /MT is interpreted as a file name under MSYS (and CygWin as well I guess). Better specify this flag as -MT which will work both from the Windows command line and in MSYS.