Hallo,
ich habe ein Problem mit Typdefinitionen in Header-Files:
In meinem File uip_UdpAppHub.h definiere ich einen neuen Typ namens
UdpAppData_t:
1 | typedef struct UdpAppData_t
|
2 | {
|
3 | struct UdpAppData_t *prev;
|
4 | struct UdpAppData_t *next;
|
5 |
|
6 | enum UdpAppData_e type;
|
7 | uip_ipaddr_t ip;
|
8 | union
|
9 | {
|
10 | nbt_name_query_t nbt_name_query;
|
11 | } data;
|
12 | } UdpAppData_t;
|
Der Compiler meckert über folgende Zeile: uip_ipaddr_t ip;
folgendermaßen:
1 | Error 1 expected specifier-qualifier-list before 'uip_ipaddr_t'
|
Allerdings ist die Datei uip.h, in der der Typ uip_ipaddr_t definiert
ist, korrekt eingebunden. Dort wird uip_ipaddr_t folgendermaßen
definiert:
1 | typedef u16_t uip_ip4addr_t[2];
|
2 | typedef u16_t uip_ip6addr_t[8];
|
3 | #if UIP_CONF_IPV6
|
4 | typedef uip_ip6addr_t uip_ipaddr_t;
|
5 | #else /* UIP_CONF_IPV6 */
|
6 | typedef uip_ip4addr_t uip_ipaddr_t;
|
7 | #endif /* UIP_CONF_IPV6 */
|
In meinem Fall ist UIP_CONF_IPV6 nicht definiert. Ich verstehe den
Fehler nicht, denn überall sind Include-Guards und alles müsste korrekt
eingebunden sein. Als IDE verwende ich das neue AVR Studio 5 - liegts
vielleicht daran? Ich habe mal das Projekt als Anhang eingefügt.
Ich hoffe ihr könnt mir einen Tip geben.
Gruß und frohe Ostern. Sven