"ожидал объявления" в QtCreator для корректного кода

Я работаю в C-проекте с QtCreator (да, он в основном для C++, но до сих пор он работал нормально для C).

Теперь я получаю красное подчеркивание допустимого кода, который прекрасно компилируется:

введите описание изображения здесь

В основном это пример проекта libopencm3 без изменений для виртуального COM-порта.

Вы видите какую-то проблему в коде, возможно, не смертельную, но что может заставить редактора думать, что это ошибка?

Я пытался заменить struct usb_device_descriptor с эквивалентным typedef, но это не помогло.

Ошибка во второй строке говорит "ожидается", получил.". Закрытие } аннотируется как "extra;`

Вот как объявляется структура:

/* USB Standard Device Descriptor - Table 9-8 */
struct usb_device_descriptor {
    uint8_t bLength;
    uint8_t bDescriptorType;
    uint16_t bcdUSB;
    uint8_t bDeviceClass;
    uint8_t bDeviceSubClass;
    uint8_t bDeviceProtocol;
    uint8_t bMaxPacketSize0;
    uint16_t idVendor;
    uint16_t idProduct;
    uint16_t bcdDevice;
    uint8_t iManufacturer;
    uint8_t iProduct;
    uint8_t iSerialNumber;
    uint8_t bNumConfigurations;
} __attribute__((packed));

1 ответ

Найден обходной путь:

Измените значение "C" на Clang на этой странице настроек:

(Как указано в комментариях ms, вам, возможно, придется сначала включить модель)

Другие вопросы по тегам