乐鑫技术交流
直播中

贾埃罗

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

编译例程pipeline_bt_source失败怎么解决?

编译其他ADF库里的例程没有问题,就这个会出错,初步分析是ADF库里调用了IDF库的函数,但是找不到,不知道要怎么将它们关联起来,以下是编译报告:
C:/Users/HUANG/esp/esp-adf/components/esp_peripherals/lib/blufi/wifibleconfig.c: In function 'wifi_ble_event_callback':
C:/Users/HUANG/esp/esp-adf/components/esp_peripherals/lib/blufi/wifibleconfig.c:181:13: error: implicit declaration of function 'esp_blufi_close'; did you mean 'esp_wifi_stop'? [-Werror=implicit-function-declaration]
             esp_blufi_close(g_wifi_ble_config->ble_server_if, g_wifi_ble_config->ble_conn_id);
             ^~~~~~~~~~~~~~~
             esp_wifi_stop
cc1.exe: some warnings being treated as errors
[1357/1430] Building C object esp-idf/battery_service/CMakeFiles/__idf_battery_service.dir/battery_service.c.obj
C:/Users/HUANG/esp/esp-adf/components/battery_service/battery_service.c: In function 'battery_task':
C:/Users/HUANG/esp/esp-adf/components/battery_service/battery_service.c:122:38: warning: this statement may fall through [-Wimplicit-fallthrough=]
                     service->running = false;
                                      ^
C:/Users/HUANG/esp/esp-adf/components/battery_service/battery_service.c:124:17: note: here
                 case BATTERY_SERVICE_STOP: {
                 ^~~~
[1367/1430] Building C object esp-idf/input_key_service/CMakeFiles/__idf_input_key_service.dir/input_key_service.c.obj
ninja: build stopped: subcommand failed.
终端进程“C:WINDOWSSystem32WindowsPowerShellv1.0powershell.exe -Command ninja ”已终止,退出代码: 1。                                                                                                                                                

回帖(1)

远风

2024-6-28 16:33:10
为了解决这个问题,你可以尝试以下步骤:

1. 确保你的项目依赖了正确的库。检查 `CMakeLists.txt` 文件,确保已经添加了 `esp-adf` 库的路径。例如:

   ```
   idf_component_register(SRC_DIRS "src"
                           INCLUDE_DIRS "include"
                           PRIV_REQUIRES "esp-adf")
   ```

2. 确保 `esp-adf` 库已经包含了 `esp_blufi_close` 函数。你可以在 `esp-adf` 库的源代码中搜索这个函数,确保它已经被正确地实现。

3. 如果你找到了 `esp_blufi_close` 函数,但编译器仍然报告找不到该函数,可能是因为编译器没有正确地包含这个函数的头文件。检查你的代码中是否包含了正确的头文件,例如:

   ```c
   #include "esp_blufi_api.h"
   ```

4. 如果以上步骤都无法解决问题,你可以尝试清理项目并重新编译。在命令行中,进入你的项目目录,然后执行以下命令:

   ```
   idf.py clean
   idf.py build
   ```

5. 如果问题仍然存在,你可以考虑在 `esp-adf` 库的 `CMakeLists.txt` 文件中添加对 `esp_blufi` 组件的依赖,例如:

   ```
   idf_component_register(SRC_DIRS "src"
                           INCLUDE_DIRS "include"
                           PRIV_REQUIRES "esp-adf esp_blufi")
   ```


举报

更多回帖

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