也就是当使用
#include <linux//in.h>
#include <linux/in6.h>
这两个头文件同时和
#include <arpa/inet.h> // 用于进行网络字节和主机字节的ip和端口进行转换的方法的头文件
这个头文件一起使用时,会报错类似in_addr或in6_addr的error的错误,如:error: redefinition of ‘struct in_addr’
这时只需要将他们两替换成下面这个就行
#include <netinet/in.h> // 这里面包含IPv4和IPv6的socket的定义
error: redefinition of ‘struct in_addr’
最新推荐文章于 2023-08-04 22:33:07 发布
在Linux编程中,当同时使用#include<linux/in.h>、#include<linux/in6.h>和#include<arpa/inet.h>时可能会遇到in_addr或in6_addr结构体的重定义错误。为解决此问题,可以将这两个头文件替换为#include<netinet/in.h>,因为该头文件包含了IPv4和IPv6的socket定义,能避免冲突。

2111

被折叠的 条评论
为什么被折叠?



