ESP8266/ESP32链接静态库文件的方法

42 篇文章 20 订阅

libmyapp.a文件为例。

1. ESP8266 non_os 和 ESP8266 RTOS SDK V2.x

libmyapp.a文件放到lib文件夹,然后在app\Makefile中的LINKFLAGS_eagle.app.v6 = \后面添加一行-lmyapp \
如图:
在这里插入图片描述
其他的相关.c文件和.h文件放在app\myapp文件夹中。

2.ESP8266 RTOS SDK V3.0+ 和ESP-IDF

components的形式添加。
首先将components文件夹组织如下:

components
  ├── CMakeLists.txt
  ├── Kconfig
  ├── component.mk
  └── myapp
      ├── CMakeLists.txt
      ├── Kconfig
      ├── component.mk
      ├── device.c
      ├── user.c
      ├── include
      │   ├── device.h
      │   ├── myapp.h
      │   └── user.h
      └── lib
          └── libmyapp.a

components\CMakeLists.txt文件内容:

set(COMPONENT_SRCDIRS "myapp")
register_component()

components\component.mk文件内容:

COMPONENT_SRCDIRS := myapp
LIBS += myapp
COMPONENT_ADD_LDFLAGS += -L $(COMPONENT_PATH)/myapp/lib $(addprefix -l,$(LIBS))

components\Kconfig文件内容:

menu "MYAPP"
config MYAPP_ENABLE
bool "Enable MYAPP"
default "y"
endmenu

components\myapp\CMakeLists.txt文件内容:

set(COMPONENT_SRCDIRS ".")
set(COMPONENT_ADD_INCLUDEDIRS "include")
register_component()

components\myapp\component.mk文件内容:

COMPONENT_SRCDIRS := .
COMPONENT_ADD_INCLUDEDIRS:=include

参考文献:
编译系统 — ESP-IDF 编程指南 v3.2 文档
求助:cannot find entry symbol 调用了别人的静态库编译不通过 - ESP32 Forum

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值