因此,在官方的micropython库中进行更改后,由于与旧版本的esp-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.你知道出什么问题了吗?
发布于 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
https://stackoverflow.com/questions/63519390
复制相似问题