[STM32F1] 移植lwIP时ip_addr结构体未定义

[复制链接]
6143|8
 楼主| huzhiyang 发表于 2014-11-18 15:28 | 显示全部楼层 |阅读模式
发现uIP还是有些局限性,所以想移植lwIP,但是编译的时候好多问题,netif.h中,
1.png
但是查遍了整个源码,确实没有这个结构体的定义,struct  ip_addr,我知道这个肯定是个数组,是不是需要我们自己定义呢
bbstr 发表于 2014-11-18 17:15 | 显示全部楼层
struct ip_addr ipaddr;
IP4_ADDR(&ipaddr,192,168,1,2);
 楼主| huzhiyang 发表于 2014-11-18 18:23 | 显示全部楼层
bbstr 发表于 2014-11-18 17:15
struct ip_addr ipaddr;
IP4_ADDR(&ipaddr,192,168,1,2);

什么意思哦,我现在编译一大堆的问题,都是这个struct ip_addr结构体未定义
xlsbz 发表于 2014-11-18 18:37 来自手机 | 显示全部楼层
(⊙o⊙)啥?局限性?
mmuuss586 发表于 2014-11-18 21:16 | 显示全部楼层
如果没定义那肯定会报错,看看是否什么文件没加;
限量_个性。 发表于 2014-11-18 21:45 | 显示全部楼层
这个应该是你的头文件没加。
banban525 发表于 2016-1-22 15:29 | 显示全部楼层
struct ip_addr {
  u32_t addr;
}; 就是一个32位无整型
tgwfcc 发表于 2016-3-9 21:52 | 显示全部楼层
banban525 发表于 2016-1-22 15:29
struct ip_addr {
  u32_t addr;
}; 就是一个32位无整型

那这个是在哪个头文件中定义的呢?
tgwfcc 发表于 2016-3-9 21:59 | 显示全部楼层
tgwfcc 发表于 2016-3-9 21:52
那这个是在哪个头文件中定义的呢?

找到了,在ip_addr.h中,原型是:
#ifndef PACK_STRUCT_FIELD
#define PACK_STRUCT_FIELD(x) x
#endif /* PACK_STRUCT_FIELD */

PACK_STRUCT_BEGIN
struct ip_addr {
  PACK_STRUCT_FIELD(u32_t addr);
} PACK_STRUCT_STRUCT;
PACK_STRUCT_END
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

190

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部