   'iSockaddrLength' has not been declared
  I've been trying to learn how to make programs with Winsock, but I can't get it to compile.Here is the code to my program currently. I got it from an online tutorial, but I can't remember which one. Anyway, the files I am using are inaddr.h, Qos.h, winsock.dll, WinSock2.h, WS2_32.Lib, and ws2def.h Whenever I try to compile, I get the following errors. I can't figure out what the problem is. I assume the problem is not with the headers, but I'm not sure where the errors are coming from in that case...\..\..\MicrosoftSDK\ws2def.h|225|error: `iSockaddrLength' has not been declared|..\..\..\MicrosoftSDK\ws2def.h|225|error: expected `;' before "LPSOCKADDR"|..\..\..\MicrosoftSDK\ws2def.h|610|error: `len' is not a type|..\..\..\MicrosoftSDK\ws2def.h|610|error: expected `;' before "CHAR"|..\..\..\MicrosoftSDK\ws2def.h|618|error: `namelen' has not been declared|..\..\..\MicrosoftSDK\ws2def.h|618|error: expected `;' before "LPSOCKADDR"|..\..\..\MicrosoftSDK\winsock2.h|137|error: expected constructor, destructor, or type conversion before '(' token|..\..\..\MicrosoftSDK\winsock2.h|1119|error: `cbSize' is not a type|..\..\..\MicrosoftSDK\winsock2.h|1119|error: expected `;' before "BYTE"|..\..\..\MicrosoftSDK\winsock2.h|1259|error: `dwNumberOfProtocols' is not a type|..\..\..\MicrosoftSDK\winsock2.h|1259|error: expected `;' before "LPAFPROTOCOLS"|..\..\..\MicrosoftSDK\winsock2.h|1262|error: `dwNumberOfCsAddrs' is not a type|..\..\..\MicrosoftSDK\winsock2.h|1262|error: expected `;' before "LPCSADDR_INFO"|..\..\..\MicrosoftSDK\winsock2.h|1266|error: typedef `__struct_bcount' is initialized (use __typeof__ instead)|..\..\..\MicrosoftSDK\winsock2.h|1266|error: `dwSize' was not declared in this scope|..\..\..\MicrosoftSDK\winsock2.h|1266|error: expected `,' or `;' before "struct"|..\..\..\MicrosoftSDK\winsock2.h|1283|error: expected constructor, destructor, or type conversion before ',' token|..\..\..\MicrosoftSDK\winsock2.h|1283|error: expected constructor, destructor, or type conversion before ',' token|..\..\..\MicrosoftSDK\winsock2.h|1283|error: expected constructor, destructor, or type conversion before ';' token|..\..\..\MicrosoftSDK\winsock2.h|1312|error: `dwNumberOfProtocols' is not a type|..\..\..\MicrosoftSDK\winsock2.h|1312|error: expected `;' before "LPAFPROTOCOLS"|..\..\..\MicrosoftSDK\winsock2.h|1315|error: `dwNumberOfCsAddrs' is not a type|..\..\..\MicrosoftSDK\winsock2.h|1315|error: expected `;' before "LPCSADDR_INFO"|..\..\..\MicrosoftSDK\winsock2.h|1525|error: `__out_bcount_opt' has not been declared|..\..\..\MicrosoftSDK\winsock2.h|1525|error: expected `,' or `...' before "struct"|..\..\..\MicrosoftSDK\winsock2.h|1546|error: `__in_bcount' has not been declared|..\..\..\MicrosoftSDK\winsock2.h|1546|error: expected `,' or `...' before "const"|..\..\..\MicrosoftSDK\winsock2.h|1584|error: `__in_bcount' has not been declared|..\..\..\MicrosoftSDK\winsock2.h|1584|error: expected `,' or `...' before "const"|..\..\..\MicrosoftSDK\winsock2.h|1606|error: `__inout' has not been declared|..\..\..\MicrosoftSDK\winsock2.h|1606|error: expected `,' or `...' before '*' token|..\..\..\MicrosoftSDK\winsock2.h|1626|error: `__out_bcount_part' has not been declared|..\..\..\MicrosoftSDK\winsock2.h|1626|error: expected `)' before ',' token|..\..\..\MicrosoftSDK\winsock2.h|1626|error: expected identifier before '*' token|..\..\..\MicrosoftSDK\winsock2.h|1626|error: expected initializer before "struct"|..\..\..\MicrosoftSDK\winsock2.h|1647|error: `__out_bcount_part' has not been declared|..\..\..\MicrosoftSDK\winsock2.h|1647|error: expected `)' before ',' token|..\..\..\MicrosoftSDK\winsock2.h|1647|error: expected identifier before '*' token|..\..\..\MicrosoftSDK\winsock2.h|1647|error: expected initializer before "struct"|..\..\..\MicrosoftSDK\winsock2.h|1670|error: `__out_bcount' has not been declared|..\..\..\MicrosoftSDK\winsock2.h|1670|error: expected `,' or `...' before "char"|..\..\..\MicrosoftSDK\winsock2.h|1722|error: expected constructor, destructor, or type conversion before '(' token|..\..\..\MicrosoftSDK\winsock2.h|1815|error: `__out_bcount_part' has not been declared|..\..\..\MicrosoftSDK\winsock2.h|1815|error: expected `)' before ',' token|..\..\..\MicrosoftSDK\winsock2.h|1815|error: expected identifier before "return"|..\..\..\MicrosoftSDK\winsock2.h|1815|error: expected `,' or `...' before "return"|..\..\..\MicrosoftSDK\winsock2.h|1815|error: expected initializer before "__out_data_source"|..\..\..\MicrosoftSDK\winsock2.h|1833|error: expected constructor, destructor, or type conversion before '(' token|..\..\..\MicrosoftSDK\winsock2.h|1865|error: `__inout_opt' has not been declared|..\..\..\MicrosoftSDK\winsock2.h|1865|error: expected `,' or `...' before '*' token|||More errors follow but not being shown.|||Edit the max errors limit in compiler options...|||=== Build finished: 50 errors, 0 warnings ===|main.cpp#include <winsock.h>#include <iostream>using namespace std;int main(){    WSADATA wsaData;   // if this doesn't work    //WSAData wsaData; // then try this instead    // MAKEWORD(1,1) for Winsock 1.1, MAKEWORD(2,0) for Winsock 2.0:    if (WSAStartup(MAKEWORD(1,1), &wsaData) != 0)    {   fprintf(stderr, "WSAStartup failed.\n");   exit(1);    }    cout << "It worked. Yay!!!" << endl;    WSACleanup();    return 0;}
  The code you've posted compiles fine for me, so either there is truly something broken in your installation of the Platform SDK, or you didn't post the complete code that you're using.   ;  Should I try redownloading and installing the Microsoft SDK then?   ;  It's worth a shot; however... if the code you posted isn't verbatim what you are trying to compile, then the problem may still lie on your end.   ;  I discovered something even weirder. Simply moving it to any other drive will allow it to compile just fine, it just refuses to compile when it is on the K drive for some reason.Any ideas what the heck could be causing this?   ;  Was the project really really deep in some directory's? (not sure if that can cause it)   ;  Nope, it doesn't work anywhere on the K drive, including being put directly in 'K:\'Likewise, it works anywhere on the C drive, even if it is stuck inside 10 levels of directories.   