如何解决MicroPython构建外部C模块
因此,在正式的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.
有什么想法吗?
解决方法
您需要 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。