Цитата(Sergio66 @ Jan 23 2007, 17:31)

Есть такое определение:
typedef __flash struct
{
unsigned int *var_pointer;
unsigned char position;
unsigned char flags;
char left;
char right;
char up;
char down;
void (*relative_func)();
} item_struct_type;
оно находится в h файле
далее идут определения переменных в файле menu.c
item_struct_type Main_menu[NUMBER] = {инициализация};
и
item_struct_type *current_menu = Main_menu;
есть файл menu.h со следующими строками:
extern item_struct_type Main_menu[NUMBER] ;
и
extern item_struct_type *current_menu;
файл menu.h подключается к нескольким файлдам проекта
все прекрасно компиллируется, при компоновке выдаются 2 варнинга:
Warning[w6]: Type conflict for external/entry "Main_menu", in module Multidisplay against external/entry in module Menu; array types have different element types; different composite type kinds
и
Warning[w6]: Type conflict for external/entry "current_menu", in module LCD against external/entry in module Menu; different composite type kinds
соответственно
если я из этих файлов убираю все, включая #include menu.h, то такие же варнинги переходят на другие файлы, где подключается menu.h
В чем может быть дело.
Модификатор __flash из typedef убирал - ничего не меняется.
Советую обратить внимание на последовательность включения заголовочных файлов, если их несколько.