0

因此,在官方 micropython 存储库发生更改后,由于旧 es​​p-idf 版本不兼容,我无法再构建外部 C 模块。我遵循了这个官方文档中的确切步骤: https ://docs.micropython.org/en/latest/develop/cmodules.html

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

USER_C_MODULES=../../../modules CFLAGS_EXTRA=-DMODULE_EXAMPLE_ENABLED=1 all

我得到的错误是:

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.

有什么想法有什么问题吗?

4

1 回答 1

0

你需要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

于 2021-04-09T18:12:22.983 回答