ESP32IDF出现Syntax Warning in cmake code at column 47报错

前言

(1)ESP32的资料还是挺难找的,遇到bug处理起来挺折磨人的。今天分享一个我遇到的bug,以及处理思路。

报错日志

(1)前天在些博客的时候,做测试发现了一个奇怪的bug,报错日志如下。

shell 复制代码
CMake Error at F:/HoloCubic/IDF/Enter_ESP-IDF_container_directory/esp-idf/tools/cmake/component.cmake:224 (message):
  CMake Warning (dev) at build_properties.temp.cmake:8:

    Syntax Warning in cmake code at column 47



    Argument not separated from preceding token by whitespace.

  Call Stack (most recent call first):

    F:/HoloCubic/IDF/Enter_ESP-IDF_container_directory/esp-idf/tools/cmake/scripts/component_get_requirements.cmake:3 (include)

  This warning is for project developers.  Use -Wno-dev to suppress it.



  fatal: not a git repository (or any of the parent directories): .git

  CMake Error at
  F:/HoloCubic/github_esp_box_V0.5.0/esp-box/components/bsp/CMakeLists.txt:24
  (message):

    PLATFORM unknown.

  Call Stack (most recent call first):

    F:/HoloCubic/IDF/Enter_ESP-IDF_container_directory/esp-idf/tools/cmake/scripts/component_get_requirements.cmake:106 (include)
    F:/HoloCubic/IDF/Enter_ESP-IDF_container_directory/esp-idf/tools/cmake/scripts/component_get_requirements.cmake:124 (__component_get_requirements) 





Call Stack (most recent call first):
  F:/HoloCubic/IDF/Enter_ESP-IDF_container_directory/esp-idf/tools/cmake/build.cmake:574 (__component_get_requirements)
  F:/HoloCubic/IDF/Enter_ESP-IDF_container_directory/esp-idf/tools/cmake/project.cmake:547 (idf_build_process)
  CMakeLists.txt:14 (project)


-- Configuring incomplete, errors occurred!
See also "F:/HoloCubic/github_esp_box_V0.5.0/esp-box/examples/factory_demo/build/CMakeFiles/CMakeOutput.log".

(2)测试环境:我为了写ESP32的组件添加教程,做测试实验,将组件路径中添加一个空的CMakeLists.txt,用以验证ESP32的组件添加是根据CMakeLists.txt来判断这个路径是否为有效组件。添加完CMakeLists.txt之后,删除CMakeLists.txt文件再次编译就会出现如上错误。

解决办法

(1)当时我查了很久,一直在想是什么问题导致的。直到看到了下面这一句,说我配置未完成,发生错误!

shell 复制代码
Configuring incomplete, errors occurred!

(2)我就在想是什么配置,于是就打算查看一下是什么配置有问题就找到原工程的sdkconfig文件和现在报错工程的sdkconfig文件进行对比。发现现在的工程sdkconfig文件中会少一些配置信息。

(3)于是我就想到了将原来工程的sdkconfig文件覆盖现在出问题的工程sdkconfig文件,之后编译就没有问题了。

(4)但是有些人肯定要说了,他没有保留原来工程的sdkconfig文件怎么办?你可以删除工程目录下的sdkconfig文件和dependencies.lock文件,重新编译就可行了。

猜测问题所在

(1)应该组件目录中有一个空的CMakeLists.txt文件,导致编译器生成sdkconfig文件配置的时候没有全部生成就终止编译了。

(2)之后,你再次进行编译,编译器发现你项目工程中存在sdkconfig文件,就不会再次进行对sdkconfig文件的处理。但是此时的sdkconfig文件是错误的,后续的编译过程是要利用上sdkconfig文件的,因为此时的sdkconfig文件不完整,所以会导致后续的编译出现问题。

相关推荐
FreakStudio9 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘14 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
zd84510150014 天前
RS485 总线详解
单片机·嵌入式硬件
✎ ﹏梦醒͜ღ҉繁华落℘14 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展14 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司14 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑14 天前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习
意法半导体STM3214 天前
【官方原创】如何为STM32CubeMX2配置Visual Studio Code配置方案
vscode·stm32·单片机·嵌入式硬件·策略模式·stm32cubemx·嵌入式开发
雾削木14 天前
B语言经典教程现代化重构
java·前端·stm32·单片机·嵌入式硬件
Hello-FPGA14 天前
Camera Link 与 CoaXPress 技术对比 如何选择你的相机接口
单片机·嵌入式硬件