gpt4 book ai didi

c - winsock编译错误

转载 作者:行者123 更新时间:2023-12-04 02:42:40 24 4
gpt4 key购买 nike

以下错误来自仅包含 windows 和 winsock2 的文件。

C:\Users\ioil\Desktop\dm\bin>dmc sockit.c
typedef struct fd_set {
^
C:\Users\ioil\Desktop\dm\bin\..\include\win32\WINSOCK2.H(85) : Error: 'fd_set' is already defined
} fd_set;
^
C:\Users\ioil\Desktop\dm\bin\..\include\win32\WINSOCK2.H(88) : Error: identifier or '( declarator )' expected
struct timeval {
^
C:\Users\ioil\Desktop\dm\bin\..\include\win32\WINSOCK2.H(129) : Error: 'timeval' is already defined
};
^
C:\Users\ioil\Desktop\dm\bin\..\include\win32\WINSOCK2.H(132) : Error: identifier or '( declarator )' expected
struct hostent {
^
C:\Users\ioil\Desktop\dm\bin\..\include\win32\WINSOCK2.H(185) : Error: 'hostent' is already defined
Fatal error: too many errors
--- errorlevel 1

C:\Users\ioil\Desktop\dm\bin>

已经尝试过的方法:将winsock.dll文件放在与编译器和待编译程序相同的目录下,放在system32目录下,用regsrv32命令进入注册表。真的不知道从这里去哪里,感谢任何建议。 . .

最佳答案

windows.h 包含 winsock.h,它与 winsock2.h 包含文件冲突。通过在包含 windows.h 之前定义 WINSOCKAPI 来防止首次包含:

:

#define _WINSOCKAPI_ 
#include "windows.h"
#include "winsock2.h"

关于c - winsock编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3059141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com