Есть такое определение: 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 убирал - ничего не меняется.
|