gpt4 book ai didi

c++ - 警告 : "IPPROTO_TCP" redefined warning: this is the location of the previous definition

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:41 25 4
gpt4 key购买 nike

编译时出现警告

In file included from server.c:48:
unixwin.h:23:1: warning: "IPPROTO_TCP" redefined
In file included from server.c:42:
/usr/include/netinet/in.h:45:1: warning: this is the location of the previous definition

以下是错误中引用的部分:

文件 unixwin.h

15
16 #ifndef FALSE
17 #define FALSE 0
18 #endif
19
20 #define SOCKADDR_IN struct sockaddr_in
21 #define SOCKET_ERROR -1
22 #define INVALID_SOCKET (SOCKET)(~0)
23 #define IPPROTO_TCP 6
24 #define LPSOCKADDR struct sockaddr *
25 #define GMEM_MOVEABLE 1
26 #define GMEM_FIXED 2
27 #define GMEM_SHARE 3
28 #define GPTR 4
29 #define LPHOSTENT struct hostent *
30 #define LPIN_ADDR struct in_addr *
31
32 #ifndef UINT
33 #define UINT unsigned int
34 #endif
35

在文件server.c中

37
38 #ifdef UNIX
39 #include <sys/types.h>
40 #include <sys/socket.h>
41 #include <sys/ioctl.h>
42 #include <netinet/in.h>
43 #include <arpa/inet.h>
44 #include <time.h>
45 #ifndef FIONREAD
46 #include <sys/filio.h>
47 #endif
48 #include "unixwin.h"
49 #endif
50

在文件/usr/include/netinet/in.h 中

30
31 /* Standard well-defined IP protocols. */
32 enum
33 {
34 IPPROTO_IP = 0, /* Dummy protocol for TCP. */
35 #define IPPROTO_IP IPPROTO_IP
36 IPPROTO_HOPOPTS = 0, /* IPv6 Hop-by-Hop options. */
37 #define IPPROTO_HOPOPTS IPPROTO_HOPOPTS
38 IPPROTO_ICMP = 1, /* Internet Control Message Protocol. */
39 #define IPPROTO_ICMP IPPROTO_ICMP
40 IPPROTO_IGMP = 2, /* Internet Group Management Protocol. */
41 #define IPPROTO_IGMP IPPROTO_IGMP
42 IPPROTO_IPIP = 4, /* IPIP tunnels (older KA9Q tunnels use 94). */
43 #define IPPROTO_IPIP IPPROTO_IPIP
44 IPPROTO_TCP = 6, /* Transmission Control Protocol. */
45 #define IPPROTO_TCP IPPROTO_TCP
46 IPPROTO_EGP = 8, /* Exterior Gateway Protocol. */
47 #define IPPROTO_EGP IPPROTO_EGP
48 IPPROTO_PUP = 12, /* PUP protocol. */
49 #define IPPROTO_PUP IPPROTO_PUP
50 IPPROTO_UDP = 17, /* User Datagram Protocol. */
51 #define IPPROTO_UDP IPPROTO_UDP
52 IPPROTO_IDP = 22, /* XNS IDP protocol. */
53 #define IPPROTO_IDP IPPROTO_IDP
54 IPPROTO_TP = 29, /* SO Transport Protocol Class 4. */
55 #define IPPROTO_TP IPPROTO_TP
56 IPPROTO_IPV6 = 41, /* IPv6 header. */
57 #define IPPROTO_IPV6 IPPROTO_IPV6
58 IPPROTO_ROUTING = 43, /* IPv6 routing header. */
59 #define IPPROTO_ROUTING IPPROTO_ROUTING
60 IPPROTO_FRAGMENT = 44, /* IPv6 fragmentation header. */

你能说一下文中哪里错了吗谢谢对不起,这只是错误发生的文件部分unixwin.h 和 server.c 是运行时公司提供给我们链接的文件当前linux glibc版本的运行时,in.h是自带的linux文件SUSE 11.0如果您查看错误和我在此处选择并粘贴的行号。感谢大家的帮助

最佳答案

你想用文件“unixwin.h”做什么?看起来它充满了应该来自系统头文件的#defines。

我会尝试删除

#define IPPROTO_TCP

...并插入...

#include <netinet/in.h>

关于c++ - 警告 : "IPPROTO_TCP" redefined warning: this is the location of the previous definition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3298185/

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