1

将 ESP32 项目从 C 驱动器移动到 H 驱动器,现在它不会编译。在按照建议移动项目文件夹之前,我尝试删除构建文件夹并使用idf.py fullclean,但这并没有解决我的问题。

CMakeError.log 包含以下信息:

确定 C 编译器是否工作失败,输出如下: Change Dir: //usersrv/users/user/esp_projects/guide/build/CMakeFiles/CMakeTmp

运行构建命令:C:/esp/tools/.espressif/tools/ninja/1.10.0/ninja.exe cmTC_637a9 && [1/2] 构建 C 对象 CMakeFiles/cmTC_637a9.dir/testCCompiler.c.obj

[2/2] 链接 C 可执行文件 cmTC_637a9

失败:cmTC_637a9

cmd.exe /C "cd . && C:\esp\tools.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc. exe -mlongcalls -Wno-frame-address CMakeFiles/cmTC_637a9.dir/testCCompiler.c.obj -o cmTC_637a9 && cd 。”

'\usersrv\users\user\esp_projects\guide\build\CMakeFiles\CMakeTmp'

CMD.EXE 以上述路径作为当前目录启动。

不支持 UNC 路径。默认为 Windows 目录。

xtensa-esp32-elf-gcc.exe:错误:CMakeFiles/cmTC_637a9.dir/testCCompiler.c.obj:没有这样的文件或目录 xtensa-esp32-elf-gcc.exe:致命错误:没有输入文件编译终止。

忍者:构建停止:子命令失败。

对于如何解决这个问题,有任何的建议吗?

4

1 回答 1

3

你需要

  • 要么手动删除构建文件夹
  • 或调用idf.py fullclean.

以下是官方文档的摘录:

idf.py clean 将通过从构建目录中删除构建输出文件来“清理”项目,从而在下次构建项目时强制“完全重建”。清理不会删除 CMake 配置输出和其他一些文件。

idf.py fullclean 将删除整个“build”目录内容。这包括所有 CMake 配置输出。下次构建项目时,CMake 将从头开始配置它。请注意,此选项会递归删除构建目录中的所有文件,因此请谨慎使用。项目配置不会被删除。

因此,如果您在不删除构建文件夹的情况下复制项目文件夹,它仍然包含引用旧文件夹的 make 文件,从而使构建过程失败。

于 2021-02-25T13:50:07.793 回答