Makarov 0 28 января, 2016 Опубликовано 28 января, 2016 · Жалоба Здравствуйте! Есть ЖК-индикатор от Riverdi с контроллером FT812. Хотелось бы использовать их готовые библиотеки для работы с индикатором. Но в Си пока не очень. Пытаюсь подключить библиотеки к проекту. Компилятор выдает ошибки, причем на мой взгляд беспочвенные. Компилятор Keil C51. Ошибки в приложенном снимке экрана. Первые две строки на которые он ругается выделены в коде желтым цветом. Кто нибудь может подсказать в чем проблема??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 29 января, 2016 Опубликовано 29 января, 2016 · Жалоба Кто нибудь может подсказать в чем проблема??? Транслятор ругается на анонимный union. Давно не использую МК51, поэтому не могу подсказать: как выйти из такого положения? Возможно (но не факт ! ), следует взять одну из последних версий Keil... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Makarov 0 1 февраля, 2016 Опубликовано 1 февраля, 2016 · Жалоба С последним keil тоже самое. У меня есть предположение, что может не хватать каких то библиотек. Но вот каких??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DPL 0 8 февраля, 2016 Опубликовано 8 февраля, 2016 · Жалоба Дело не в библиотеках, а в анонимных union, как заметили выше. Кстати, Keil для ARM их тоже не любит. Чтобы исправить ситуацию, в первой строке, выделенной жёлтым, надо между скобкой и точкой с запятой указать произвольный идентификатор, уникальный в пределах описания typedef struct {...} Ft_Gpu_Hal_Config_t. То же самое нужно сделать для второго union (желтым не выделено): typedef struct { union { .... } AnyName1; union { .... } AnyName2; ... } Ft_Gpu_Hal_Config_t; В приведённом примере это идентификаторы AnyName1 и AnyName2. Правда в этом случае придётся править и обращения к полям структуры, а это может быть муторно, если таких обращений много. В Keil для ARM можно разрешить анонимные union директивой #pragma anon_unions - тогда описания и обращения править не придётся. Можно ли это сделать для Keil51 - не знаю, проверить не на чем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться