首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Micropython构建外部C模块

Micropython构建外部C模块
EN

Stack Overflow用户
提问于 2020-08-21 16:35:38
回答 1查看 162关注 0票数 0

因此,在官方的micropython库中进行更改后,由于与旧版本的esp-idf不兼容,我不能再构建外部C模块。我遵循了官方文档中的确切步骤:https://docs.micropython.org/en/latest/develop/cmodules.html

我在/ports/unix文件夹中运行此命令:

代码语言:javascript
运行
复制
USER_C_MODULES=../../../modules CFLAGS_EXTRA=-DMODULE_EXAMPLE_ENABLED=1 all

我得到的错误是:

代码语言:javascript
运行
复制
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Including User C Module from ../../../modules/example
make: *** No rule to make target 'example/python/micropython/my_project/modules/example/example.c', needed by 'build-standard/genhdr/qstr.i.last'.  Stop.

你知道出什么问题了吗?

EN

回答 1

Stack Overflow用户

发布于 2021-04-10 02:12:23

您需要2个micropyhon.cmake文件。1应该在您的根modules目录中,并且充当您想要包含在编译中的所有模块的主包含。第二个应该在你的特定模块目录中。如果要包含多个模块,则需要在每个模块中包含一个micropython.cmake文件。它们用于包含所有要编译的源代码。

一旦拥有了适当的cmake文件,就可以通过将目录更改为适当的micropython/ports/DesiredPort子目录并使用命令行进行编译:

make USER_C_MODULES=/path/to/your/modules/micropython.cmake all

您可以在以下链接中找到示例。

https://github.com/micropython/micropython/tree/master/examples/usercmodule

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63519390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档