loading...
esp-idf编译遇到的坑
发表于:2024-09-04 |
字数统计: 383 | 阅读时长: 1分钟 | 阅读量:

编译遇到的问题

错误没有fatfs组件

1
fatal error: esp_vfs_fat.h: No such file or directory

原因

缺少fatfs组件

解决办法

在组件内部添加fatfs,例如

1
2
3
4
5
6
7
8
9
10
set(COMPONENT_REQUIRES
esp32-camera
esp-face
nvs_flash
esp_http_server
fb_gfx
mdns
fatfs
wpa_supplicant
)

ccache错误,libsodium库报poly1305.c.obj类文件找不到

1
error: Failed to create temporary file for esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c.obj: No such file or directory

原因

在Windows上编译libsodioum时会出现此问题:
1.ESP-IDF工具(.espressif)的路径超过90个字符。
2.ESP-IDF的路径长度超过90个字符。
3.工程路径超过90个字符。
这似乎是ESP-IDF中较旧版本的CCache中的错误。

解决办法

1.尽量不要去clean或者menuconfig
2.重命名文件夹名
3.删除缓存文件

错误内容含有ccache,而esp-idf编译环境又用到ccache编译缓存工具【见.espressif/tools/ccache】
ccache的功效,每次编译新建项目,都会在默认的ccache目录【C:\Users\Administrator\AppData\Roaming.ccache】创建对应的缓存记录,而重新编译会从该记录拿出用到的obj对象文件出来,因此如果删除该ccache目录下的所有文件,然后回到项目目录,重新编译。

4.乐鑫官方方法使用如下禁止ccache的方法编译

1
idf.py --no-ccache build

5.采用新版本idf

坏环境(idf4.0)

1
can't open file 'E:\\tools\\idf.py': [Errno 2] No such file or directory

原因

在build时Ctrl+C打断

解决方法

进入espidf的环境重新运行install.bat

上一篇:
Web前端知识
下一篇:
esp-idf的安装