реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> UIP Ошибка field 'p' has incomplete type
Alex_new
сообщение Jan 24 2018, 13:49
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 19-01-18
Пользователь №: 101 160



Доброго времени суток.

Осваиваю Ethernet по стеку uIP. При использовании стандартного примера"Hello world" возникла ошибка "field 'p' has incomplete type".

Код
#ifndef __HELLO_WORLD_H__
#define __HELLO_WORLD_H__

/* Since this file will be included by uip.h, we cannot include uip.h
   here. But we might need to include uipopt.h if we need the u8_t and
   u16_t datatypes. */
#include "uip/uipopt.h"

#include "uip/psock.h"

/* Next, we define the uip_tcp_appstate_t datatype. This is the state
   of our application, and the memory required for this state is
   allocated together with each TCP connection. One application state
   for each TCP connection. */
typedef struct hello_world_state {
    struct psock p; [u]//ошибка тут[/u]
    char inputbuffer[10];
    char name[40];
} uip_tcp_appstate_t;

/* Finally we define the application function to be called by uIP. */
void hello_world_appcall(void);
#ifndef UIP_APPCALL
#define UIP_APPCALL hello_world_appcall
#endif /* UIP_APPCALL */

void hello_world_init(void);

#endif /* __HELLO_WORLD_H__ */


Помогите пожалуйста разораться.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 24 2018, 15:44
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 303
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



К моменту, когда компилятор встретил эту строку, он еще не стречал определения структуры psock. Поэтому он понятия не имеет, сколько памяти под нее зарезервировать в hello_world_state. Вероятнее всего, вы забыли где-то в начале подключить заголовочный файл с определением этой структуры. Вижу выше #include "uip/psock.h", если это определение находится в этом файле, то надо разбираться, почему компилятор его пропустил (вероятно из-за каких-то #ifdef).


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th May 2018 - 07:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.00856 секунд с 7
ELECTRONIX ©2004-2016