c - 将 aws iot 设备 sdk 作为用户 C 模块嵌入到 Micropython
问题描述
由于没有用于 micropython 的官方 aws iot 设备 sdk,我想编译将官方 C SDK作为用户模块嵌入到 micropython 中。
我遵循 micropython 官方文档中关于如何将外部 C 模块编译成 micropython 的指南。
我想使用的第一种方法是initializeMqtt()
. 我将包含目录添加到生成文件中(例如:)CFLAGS_USERMOD += -I$(LIBS)/$(OPENSSL_DIR)/include/
。然后我可以编译它,但是在我遇到一些与 openssl 相关的链接器错误之后。我从官方openssl Github页面克隆了openssl,并更新了包含目录,并开始将丢失的.c文件添加到makefile中,进行编译。在我得到相同的结果后,试图找到丢失的引用(搜索在 openssl 源代码中),我将必要的 .c 文件添加到 makefile 中(例如:)SRC_USERMOD += $(LIBS)/$(OPENSSL_DIR)/crypto/cryptlib.c
。现在我得到了越来越多的链接,错误如下:
- 未定义的引用
X509_VERIFY_PARAM_move_peername
。 - 未定义的引用
tls1_set_groups_list
等等。
我使用 MacOS,我已经安装了 openssl,在 .profile 中添加了必须有标志。
甚至有可能实现我想要的吗?
解决方案
推荐阅读
- react-native-android - java.lang.AbstractMethodError:抽象方法“okio.Timeout okhttp3.Call.timeout()”
- python - 用 numpy (einsum) 向量化多维矩阵乘积
- exchangewebservices - Office js Web 插件无法通过肥皂调用 ExpandDL
- unit-testing - 如何比较 Rust 代码中两个 JsValue 的值?
- c# - 具有外键组合键的实体框架错误
- c# - 检查运行 fullTrustProcess UWP
- firebase - 有没有办法在 Firebase 函数错误上添加一个钩子
- php - 树枝中的方法来替换 php 中的“include”
- python - Django搜索表单返回整个模型
- evolutionary-algorithm - DEAP - 通过工具箱操作失去的健身价值