&引用;“期待一份声明”;在QtCreator中输入有效代码 我在QtCreator的C项目中工作(是的,主要是C++的,但是到目前为止C的工作还不错)。

&引用;“期待一份声明”;在QtCreator中输入有效代码 我在QtCreator的C项目中工作(是的,主要是C++的,但是到目前为止C的工作还不错)。,c,qt-creator,libopencm3,C,Qt Creator,Libopencm3,现在,我在一个编译良好的有效代码上得到了一条红色下划线: 它基本上是一个虚拟COM端口的libopencm3示例项目 你能看到代码中的一些问题吗,也许不是致命的,但是什么能让编辑器认为这是一个错误呢 我尝试用等效的typedef替换struct-usb\u-device\u描述符,但没有效果 第二行的错误是“expected},got.”。结束语}注释为“额外` 下面是如何声明结构: /* USB Standard Device Descriptor - Table 9-8 */ struct

现在,我在一个编译良好的有效代码上得到了一条红色下划线:

它基本上是一个虚拟COM端口的libopencm3示例项目

你能看到代码中的一些问题吗,也许不是致命的,但是什么能让编辑器认为这是一个错误呢

我尝试用等效的typedef替换
struct-usb\u-device\u描述符
,但没有效果

第二行的错误是“expected},got.”。结束语
}
注释为“额外`

下面是如何声明结构:

/* 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));
找到了一个解决方法:

将“C”的值更改为“设置”页面中的“叮当”:


(正如m.s.在评论中指出的,您可能必须首先)

看起来像这个bug报告:啊,好吧,所以最好的选择是暂时忽略它。感谢您提供的链接,您如何在QtCreator中启用“叮当”功能?这些选项对我来说是灰色的(Qt Creator 3.5.1,通过Linux上的在线安装程序安装)我是从Arch存储库安装的。您是否安装了clang(以及其他可选依赖项)?我通过llvm存储库()在Ubuntu14.04上安装了clang++-3.7;还有哪些其他依赖项?有没有任何列表可以告诉我?当然,这是我拥有的软件包的信息页面:我有clang 3.7.0-4,qtcreator 3.5.1-1有趣,我根本不记得去过那个设置对话框。我在回答中为未来的谷歌用户添加了一条注释。