If no WINVER and/or _WIN32_IWNNT define was set, the Windows platform SDK often defaults to high value, e.g. 0x601 (whoch may probably depend on the Windows version being used, in my case Windows 7).
If WINVER >= 0x600 then winsock2.h includes some defines for WSAPoll(), e.g. POLLIN, POLLPRI, POLLOUT etc. These defines clash with cURL's lib/select.h.
I made a minor change to get the Windows/Visual Studio build working, see diff below:
diff lib\select.h \obj.WINx64\thirdparty\cURL\curl-7.32.0\lib\select.h 39,40c39 < !defined(HAVE_POLL_H) && \ < !defined(_WIN32) --- > !defined(HAVE_POLL_H)
An additional !defined(_WIN32) was added to prevent that lib/select.h defines duplicates. Because cURL does not use WSAPoll at all (see http://daniel.haxx.se/blog/2012/10/10/wsapoll-is-broken/), I think it is safe to omit these defines for Visual Studio. But if this change conflicts with other compiler on Windows, then something else need to be figured out.