ifree 发表于 2024-2-3 11:49:19

MDK-Middleware 7.17的USB组件是不是有BUG?


选择7.17的MDK-Middleware,USB总是报这个编译错误。

C:/Users/ifree/AppData/Local/Arm/Packs/Keil/MDK-Middleware/7.17.0/USB/Include/usbd_config_desc_0.c(3021): error: pasting formed 'u"Keil Software"', an invalid preprocessing token

eric2013 发表于 2024-2-3 16:38:18

7.17好像是最新版,我还没测试,后面我试试。

王小明 发表于 2024-2-5 17:54:55

我今天也碰到了这个问题,研究了一下,应该是C语言要选择C11标准,这个写法u"Keil Software"是定义成UTF-16格式的字符串,C11才引入的功能
之前的版本定义的是L"Keil Software",这个是C99宽字符
还有不能勾选macro-lib,会报下面两个错误
.\Objects\project.axf: Error: L6218E: Undefined symbol __use_two_region_memory (referred from startup_stm32f411xe.o).
.\Objects\project.axf: Error: L6218E: Undefined symbol __initial_sp (referred from entry2.o).
工程还有一个警告,暂时没有搞清楚为什么
net_config.h(15): warning: unknown warning group '-Wcast-function-type-strict', ignored [-Wunknown-warning-option]
#pragma clang diagnostic ignored "-Wcast-function-type-strict"

王小明 发表于 2024-2-5 17:55:25

我今天也碰到了这个问题,研究了一下,应该是C语言要选择C11标准,这个写法u"Keil Software"是定义成UTF-16格式的字符串,C11才引入的功能
之前的版本定义的是L"Keil Software",这个是C99宽字符
还有不能勾选macro-lib,会报下面两个错误
.\Objects\project.axf: Error: L6218E: Undefined symbol __use_two_region_memory (referred from startup_stm32f411xe.o).
.\Objects\project.axf: Error: L6218E: Undefined symbol __initial_sp (referred from entry2.o).
工程还有一个警告,暂时没有搞清楚为什么
net_config.h(15): warning: unknown warning group '-Wcast-function-type-strict', ignored [-Wunknown-warning-option]
#pragma clang diagnostic ignored "-Wcast-function-type-strict"

ifree 发表于 2024-2-6 12:34:23

王小明 发表于 2024-2-5 17:55
我今天也碰到了这个问题,研究了一下,应该是C语言要选择C11标准,这个写法u"Keil Software"是定义成UTF-16 ...

你用7.17的USB组件,调试成功了吗?我遇到上面的问题解决不了,暂时回退到老一点的版本了。

ruboss 发表于 7 天前

昨晚也是遇到这个问题了,也是改c11就解决了。如果还有问题,注意下新的组件之间的关系,不要新旧混用。
页: [1]
查看完整版本: MDK-Middleware 7.17的USB组件是不是有BUG?