完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在使用 esp-idf-v4.2.1.我需要升级 libcoap 到4-3-0版本, 所以把这个版本文件替换掉 esp-idf-v4.2.1componentscoap。还修改了 compenent.mk 和 CMakeLists.txt 中相关的内容(coap2修改为coap3):
compenent.mkCode: Select all ## Component Makefile#COMPONENT_ADD_INCLUDEDIRS := port/include port/include/coap libcoap/include libcoap/include/coap3 CMakeLists.txtCode: Select all set(include_dirs port/include port/include/coap libcoap/include libcoap/include/coap3)set(srcs "libcoap/src/address.c" "libcoap/src/async.c" "libcoap/src/block.c" "libcoap/src/coap_event.c" "libcoap/src/coap_hashkey.c" "libcoap/src/coap_session.c" "libcoap/src/coap_time.c" "port/coap_debug.c" "libcoap/src/encode.c" "libcoap/src/mem.c" "libcoap/src/net.c" "libcoap/src/option.c" "libcoap/src/pdu.c" "libcoap/src/resource.c" "libcoap/src/str.c" "libcoap/src/subscribe.c" "libcoap/src/uri.c" "libcoap/src/coap_io.c" "port/coap_notls.c" "port/coap_mbedtls.c")idf_component_register(SRCS "${srcs}" INCLUDE_DIRS "${include_dirs}" REQUIRES lwip mbedtls)# Silence format truncation warning, until it is fixed upstreamset_source_files_properties(port/coap_debug.c PROPERTIES COMPILE_FLAGS -Wno-format-truncation)# Needed for coap headers in public builds, also.## TODO: find a way to move this to a port headertarget_compile_definitions(${COMPONENT_LIB} PUBLIC WITH_POSIX) 编译时遇到如下报错: libcoap/include/coap3/coap_dtls.h:118:14: error: unknown type name'coap_session_t'; 我检查了 "coap_dtls.h"的内容, 发现其中、以及其包含的头文件里都没有 "coap_session_t"这个结构体的定义。请问这个coap库应该怎么编译啊? |
|
相关推荐
1个回答
|
|
要使用 ESP-IDF-v4.2.1 升级 libcoap 到 4.3.0 版本,请按照以下步骤操作:
1. 首先,下载 libcoap 4.3.0 版本的源代码。你可以从 GitHub 上的 libcoap 仓库找到最新的版本:https://github.com/obgm/libcoap 2. 将下载的源代码解压缩到一个文件夹中。 3. 打开 ESP-IDF 的项目目录,找到 `components` 文件夹。如果不存在,请创建一个。 4. 在 `components` 文件夹中,找到 `coap` 文件夹。如果不存在,请创建一个。 5. 将解压缩后的 libcoap 4.3.0 源代码文件夹复制到 `components/coap` 目录下。 6. 修改 `component.mk` 文件。将以下内容添加到文件中: ``` ## Component Makefile COMPONENT_ADD_INCLUDEDIRS := port/include port/include/coap libcoap/include libcoap/include/coap3 COMPONENT_PRIV_INCLUDEDIRS := libcoap COMPONENT_SRCDIRS := libcoap port ``` 7. 修改 `CMakeLists.txt` 文件。将以下内容添加到文件中: ``` set(include_dirs port/include port/include/coap libcoap/include libcoap/include/coap3) include_directories(${include_dirs}) add_subdirectory(libcoap) add_subdirectory(port) ``` 8. 在你的项目 `CMakeLists.txt` 文件中,添加以下内容以链接 libcoap 库: ``` set(COMPONENT_REQUIRES coap) ``` 9. 现在,你应该已经成功地将 libcoap 升级到 4.3.0 版本。重新构建你的项目,确保没有错误。 请注意,这些步骤可能需要根据你的具体项目和 ESP-IDF 版本进行调整。如果在升级过程中遇到问题,请参考 libcoap 的文档和 ESP-IDF 的示例项目。 |
|
|
|
只有小组成员才能发言,加入小组>>
1034 浏览 1 评论
562浏览 6评论
470浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
454浏览 5评论
455浏览 4评论
428浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 16:49 , Processed in 0.780589 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号