具有多个源文件的 ESP-IDF 项目

时间:2021-06-21 06:53:30

标签: cmake esp32 esp-idf

我以一个简单的“闪烁”示例开始了我的项目,并将其用作编写代码的模板。 此示例仅使用了一个源文件 blink.c。 最终,我想要一个使用多源文件的项目,但不知道如何配置 CMakeLists.txt 以编译项目。

我的 CMakeLists.txt 是:

cmake_minimum_required(VERSION 3.5)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

project(blink)

我想添加例如 init.c。 我尝试了不同的方法,但都没有成功。

idf_component_register() / register_component() 都不适合我。

知道如何正确配置项目吗?

1 个答案:

答案 0 :(得分:1)

对了,ESP IDF 中的 CMake 项目层次结构有点棘手。您正在查看错误的 CMakeLists.txt 文件。而不是根目录中的那个,打开blink/main/CMakeLists.txt中的那个。该文件列出了“主要”组件的源文件,这是您要使用的。它看起来像这样:

idf_component_register(SRCS "blink.c" "init.c"
                    INCLUDE_DIRS ".")

确保您的 init.c 文件与此 CMakeLists.txtblink.c 位于同一目录中。

我还建议您查看 Espressif Build System documentation,它非常有用。