打印
[STM32F1]

移植lwIP时ip_addr结构体未定义

[复制链接]
5462|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huzhiyang|  楼主 | 2014-11-18 15:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
发现uIP还是有些局限性,所以想移植lwIP,但是编译的时候好多问题,netif.h中,

但是查遍了整个源码,确实没有这个结构体的定义,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⊙)啥?局限性?

使用特权

评论回复
5
mmuuss586| | 2014-11-18 21:16 | 只看该作者
如果没定义那肯定会报错,看看是否什么文件没加;

使用特权

评论回复
6
限量_个性。| | 2014-11-18 21:45 | 只看该作者
这个应该是你的头文件没加。

使用特权

评论回复
7
banban525| | 2016-1-22 15:29 | 只看该作者
struct ip_addr {
  u32_t addr;
}; 就是一个32位无整型

使用特权

评论回复
8
tgwfcc| | 2016-3-9 21:52 | 只看该作者
banban525 发表于 2016-1-22 15:29
struct ip_addr {
  u32_t addr;
}; 就是一个32位无整型

那这个是在哪个头文件中定义的呢?

使用特权

评论回复
9
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

粉丝