Ullan
Ullan

Reputation: 1007

WinSock2.h Compilation Errors

I am trying to run a project using Visual studio 2003. But I am getting lot of compilation errors similar to the following.

The errors are pointing to WinSock2.h file. I am copying couple of code snippets from WinSock2.h file and the corresponding errors

typedef struct fd_set {
    u_int fd_count;               /* how many are SET? */
    SOCKET  fd_array[FD_SETSIZE];   /* an array of SOCKETs */
} fd_set;

C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinSock2.h(114): error C2065: 'fd_set' : undeclared identifier

struct sockaddr {
    u_short sa_family;              /* address family */
    char    sa_data[14];            /* up to 14 bytes of direct address */
};

C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinSock2.h(109): error C2143: syntax error : missing ';' before '{'

The ws2_32.lib file is added to "Configuration properties - Linker - Input - Additional Dependencies". The build configuration platform is win32.

Thanks in advance for your help.

Upvotes: 1

Views: 3623

Answers (1)

HDJEMAI
HDJEMAI

Reputation: 9800

a typical basic Winsock Application with the good order of header files can be found here:

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif

#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <stdio.h>

#pragma comment(lib, "Ws2_32.lib")

int main() {
    return 0;
}

The order of including header files is important

Upvotes: 2

Related Questions