乐鑫技术交流
直播中

刘杰

7年用户 1310经验值
私信 关注
[问答]

使用IDF-4.4编译esp-iot-solution中的usb_cdc_4g_module示例工程时出现报错的原因?如何解决?

D:/esp/esp-iot-solution-usb-add_usb_solutions/components/usb/esp_usbh_cdc/esp_usbh_cdc.c: In function '_usb_get_dev_desc':
D:/esp/esp-iot-solution-usb-add_usb_solutions/components/usb/esp_usbh_cdc/esp_usbh_cdc.c:703:5: error: implicit declaration of function 'usb_print_device_descriptor'; did you mean 'usb_print_descriptors'? [-Werror=implicit-function-declaration]
     usb_print_device_descriptor(dev_desc);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
     usb_print_descriptors
D:/esp/esp-iot-solution-usb-add_usb_solutions/components/usb/esp_usbh_cdc/esp_usbh_cdc.c: In function '_usb_get_config_desc':
D:/esp/esp-iot-solution-usb-add_usb_solutions/components/usb/esp_usbh_cdc/esp_usbh_cdc.c:754:5: error: implicit declaration of function 'usb_print_config_descriptor'; did you mean 'usb_print_descriptors'? [-Werror=implicit-function-declaration]
     usb_print_config_descriptor(cfg_desc, NULL);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
     usb_print_descriptors
cc1.exe: some warnings being treated as errors
/-----------------------------------------------------------------------------------------------------------------------------------------------------------/
D:/esp/esp-iot-solution-usb-add_usb_solutions/components/usb/uvc_stream/uvc_stream.c: In function '_usb_get_dev_desc':
D:/esp/esp-iot-solution-usb-add_usb_solutions/components/usb/uvc_stream/uvc_stream.c:833:5: error: implicit declaration of function 'usb_print_device_descriptor'; did you mean 'usb_print_descriptors'? [-Werror=implicit-function-declaration]
     usb_print_device_descriptor(dev_desc);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
     usb_print_descriptors
D:/esp/esp-iot-solution-usb-add_usb_solutions/components/usb/uvc_stream/uvc_stream.c: In function '_usb_get_config_desc':
D:/esp/esp-iot-solution-usb-add_usb_solutions/components/usb/uvc_stream/uvc_stream.c:885:5: error: implicit declaration of function 'usb_print_config_descriptor'; did you mean 'usb_print_descriptors'? [-Werror=implicit-function-declaration]
     usb_print_config_descriptor(cfg_desc, _print_uvc_class_descriptors_cb);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
     usb_print_descriptors
cc1.exe: some warnings being treated as errors
/-----------------------------------------------------------------------------------------------------------------------------------------------------------/
我在使用IDF-4.4编译esp-iot-solution中的usb_cdc_4g_module示例工程时,出现了如上的错误。找不到usb_print_device_descriptor()和usb_print_device_descriptor()这两个函数的实现方法,请问该如何解决呢?
                                                                                                                                                               

回帖(1)

梅利号

2024-6-27 16:58:20
这可能是由于以下原因导致的:

1. 函数定义缺失:确保 `usb_print_device_descriptor` 函数在源代码中已经定义。如果找不到,需要添加相应的定义。

2. 头文件包含问题:检查是否已经正确包含了包含 `usb_print_device_descriptor` 函数定义的头文件。如果头文件没有被正确包含,编译器将无法找到该函数的定义。

3. 函数声明问题:如果 `usb_print_device_descriptor` 函数在其他源文件中定义,确保在当前文件中对其进行了声明。例如,在当前文件的顶部添加以下声明:

```c
void usb_print_device_descriptor(const usb_device_descriptor_t *desc);
```

4. 编译器设置问题:检查项目的编译器设置,确保所有需要的源文件和头文件都被正确包含在编译过程中。

解决这个问题的步骤如下:

1. 首先,检查 `usb_print_device_descriptor` 函数在源代码中是否有定义。如果没有,需要添加相应的定义。

2. 确保包含 `usb_print_device_descriptor` 函数定义的头文件已经被正确包含。检查所有相关的头文件,确保它们被正确引用。

3. 在当前文件中添加 `usb_print_device_descriptor` 函数的声明,如上所述。

4. 检查项目的编译器设置,确保所有需要的源文件和头文件都被正确包含在编译过程中。

5. 重新编译项目,查看是否解决了问题。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分