ESP32静态库生成和使用
- 1. 简单描述
- 2. 生成静态库
- 2. 使用静态库
1. 简单描述
- 开发方式为 IDF5.0
- 参考连接为
【ESP32学习之路4——生成并使用.a静态库】
2. 生成静态库
- 新建组件 【printhelloword】修改里面的程序函数为hello
void hello(void)
{
printf("你好!!!!!!!!!!!\n");
}
- 编译
- 在build/esp-idf/printhelloword/找到libprinthelloword.a
build/esp-idf/printhelloword/libprinthelloword.a
2. 使用静态库
- 把libprinthelloword.a文件放在printhelloword主目录
- 修改原来的printhelloword.c文件名称和去掉里面的函数(.h不要动)
- 修改cmake
idf_component_register(SRCS "printhelloword1.c"
INCLUDE_DIRS "include")
set(LIBS libprinthelloword)
add_library(${LIBS} STATIC IMPORTED)
set_property(TARGET ${LIBS} PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/${LIBS}.a)
target_link_libraries(${COMPONENT_LIB} INTERFACE ${LIBS})
set_property(TARGET ${LIBS} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${COMPONENT_LIB})
- 主函数引入.h文件,并调用函数
#include "printhelloword.h"
hello();