尝试使用Winsock头进行编译时,Windows上的叮当声会导致错误

尝试使用Winsock头进行编译时,Windows上的叮当声会导致错误,c,clang,winsock,C,Clang,Winsock,从Windows编译时是否可以在Clang上使用Winsock 我的Include标题是:它们似乎解析正确。但不是康比 #ifdef WIN32 #include <winsock2.h> #include <ws2tcpip.h> #else #include <sys/socket.h> #include <arpa/inet.h> #include <netdb.h> #endif 任何帮助都将不胜感激。错误列表中说http.c

从Windows编译时是否可以在Clang上使用Winsock

我的Include标题是:它们似乎解析正确。但不是康比

#ifdef WIN32
#include <winsock2.h>
#include <ws2tcpip.h>
#else
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netdb.h>
#endif

任何帮助都将不胜感激。

错误列表中说http.c有一个适用于windows.h的“包含”。这似乎与代码片段完全不匹配。请阅读并学习,然后提供详细信息。只有这样我们才能帮助你。
C:\Code>clang-cl vivotool.c http.c  -DWIN32 -o vivotool.exe
In file included from http.c:2:
In file included from C:\Program Files (x86)\Windows Kits\8.0\include\um\windows.h:164:
In file included from C:\Program Files (x86)\Windows Kits\8.0\include\shared\windef.h:24:
In file included from C:\Program Files (x86)\Windows Kits\8.0\include\shared\minwindef.h:182:
C:\Program Files (x86)\Windows Kits\8.0\include\um\winnt.h(1245,0) : error: function definition declared 'typedef'
EXCEPTION_DISPOSITION
^
C:\Program Files (x86)\Windows Kits\8.0\include\um\winnt.h(1247,0) : error: parameter named 'EXCEPTION_ROUTINE' is missing
EXCEPTION_ROUTINE (
^
C:\Program Files (x86)\Windows Kits\8.0\include\um\winnt.h(1254,8) : error: unknown type name 'EXCEPTION_ROUTINE'
typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE;
        ^
C:\Program Files (x86)\Windows Kits\8.0\include\um\winnt.h(1254,0) : error: invalid storage class specifier in function declarator
typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE;
^
C:\Program Files (x86)\Windows Kits\8.0\include\um\winnt.h(1254,27) : error: parameter named 'PEXCEPTION_ROUTINE' is missing
typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE;
                           ^
C:\Program Files (x86)\Windows Kits\8.0\include\um\winnt.h(2144,0) : error: invalid storage class specifier in function declarator
typedef ULONG_PTR KSPIN_LOCK;
^
C:\Program Files (x86)\Windows Kits\8.0\include\um\winnt.h(2144,18) : error: parameter named 'KSPIN_LOCK' is missing
typedef ULONG_PTR KSPIN_LOCK;
                  ^
C:\Program Files (x86)\Windows Kits\8.0\include\um\winnt.h(2145,8) : error: unknown type name 'KSPIN_LOCK'
typedef KSPIN_LOCK *PKSPIN_LOCK;
        ^
C:\Program Files (x86)\Windows Kits\8.0\include\um\winnt.h(2145,0) : error: invalid storage class specifier in function declarator
typedef KSPIN_LOCK *PKSPIN_LOCK;
^
C:\Program Files (x86)\Windows Kits\8.0\include\um\winnt.h(2145,20) : error: parameter named 'PKSPIN_LOCK' is missing
typedef KSPIN_LOCK *PKSPIN_LOCK;