此篇博客用来描述如何基于 ESP-IDF release/v3.3 添加并使用静态库。具体将分为以下几个部分:
- 静态库的生成
- 将生成的库文件放入 ESP-IDF 指定的存放位置
- 将静态库添加至 cmake 中
- 将静态库添加至 makefile 中
1. 静态库的生成
这一步说明如何生成后续要用到的静态库,以 static_lib.c
和static_lib.h
生成静态库为例。指令如下:
xtensa-esp32-elf-gcc -o static_lib.o -c static_lib.c # 将源文件生成目标文件
xtensa-esp32-elf-ar rcs libstatic_lib.a static_lib.o # 将目标文件生成静态库
2. 将生成的库文件放入 ESP-IDF 指定的存放位置
这一步需要将上一步生成的文件放入 ESP-IDF 指定的存放位置。在`COMPONENT_PATH/CMAKE_CURRENT_SOURCE_DIR`下创建文件夹和文件关系如下:
components
└── static_lib
├── CMakeLists.txt
├── component.mk
├── include
│ └── static_lib