我使用 Esplorer 的内置编译器编译了超过 2KB 的 .lua 文件,但无法编译。NodeMCU 重置并且编译中止。有没有办法使用 Esplorer 或任何其他在 Esplorer 环境之外编译文件的方法。
问问题
1437 次
1 回答
0
您可以在上传之前在您的 PC 上进行交叉编译。https://nodemcu.readthedocs.io/en/dev/en/upload/#compiling-lua-on-your-pc-for-uploading的文档中有一章关于此。
如果您在开发 PC 或笔记本电脑上安装 lua,那么您可以使用标准 Lua 编译器对任何 Lua 源进行语法检查,然后再将其下载到 ESP8266 模块。但是,nodemcu 编译器输出使用不同的数据类型(例如它支持 ROMtables),因此编译后的输出无法在 ESP8266 上运行。
在一个平台上编译源代码以在另一个平台上使用(例如 Intel x38 Window 到 ESP8266)被称为交叉编译,nodemcu 固件支持在具有 Lua 5.1、Lua 文件系统模块(lfs)的 *nix patforms 上编译 luac.cross ,以及必不可少的 GCC 工具。只需将目录更改为固件根目录并运行命令:
lua tools/cross-lua.lua
这将在您的根目录中生成一个 luac.cross 可执行文件,可用于编译和语法检查开发机器上的 Lua 源代码,以便在 ESP8266 上的 nodemcu lua 下执行。
于 2016-06-22T06:31:14.713 回答