cURL / Mailing Lists / curl-library / Single Mail


Re: Multiple definitions of pollfd struct in 7.17.1 with Visual Studio 2008 Beta

From: Yang Tse <>
Date: Thu, 8 Nov 2007 13:01:04 +0100

2007/11/8, Vikram Saxena wrote:

> I am compiling libcurl using the Visual Studio 2008 Beta and libcurl 7.17.1
> source code download.
> I am getting a conflict due to multiple definitions of the pollfd struct. It
> is already defined in the winsock2.h file which was being included via
> setup.h file.
> I changed line 49 of select.h from
> #ifndef HAVE_SYS_POLL_H
> to
> if !defined(HAVE_SYS_POLL_H) && ! defined(HAVE_WINSOCK2_H)
> This seems to have fixed the problem. The variable HAVE_SINSOCK2_H is
> defined in the config-win32.h file.
> Please do confirm; I am brand new to this space.

MS seems to be trying very hard to remove backwards compatibility from
VS2008 suite. It seems that they are going even further trying to
screw everybody's WIN32 code, not just simply removing pre-XP support.

Read for yourself

If you are trying to build anything for pre-XP with VS2008 you are
simply alone. It doesn't matter if it works or not, they won't support
the case.

Ok, back to our stuff...

The change you propose to select.h might work for VS2008 but it
certainly would break _ALL_ other WIN32 compilers and toolchains
msvc's or not.

A deeper inspection of VS2008's winsock2.h is needed before a patch
for VS2008 can be done. I wonder if it is worth doing it while it
remains beta, MS seems to be quite fond of making dramatic changes in
release products relative to beta ones.

Received on 2007-11-08