1104版本的 native 后端需要 cl.exe 支持吗?


记得之前版本没有这个提示的,更新了 MoonBit 插件到最新后,就有这个提示了。这是说明后面 native 编译都需要提前安装微软 build tools 套件了吗?

目前 native 后端的工作模式是这样的:

  • 在默认状态下,不需要安装任何 C 工具链也能跑
  • 在手动指定了 --release,或者有 C FFI/定制 cc flag 需求的时候,会使用系统的 C 编译器,在 Windows 下就是 MSVC

你这里的情况是构建系统的一个 bug,我们会尽快修复,感谢反馈。作为 workaround,可以考虑下面两种做法:

  1. 先临时装个 MSVC
  2. 随便装一个任意的 C 编译器,然后在 main 包的 moon.pkg.json 里加上:
    {
      ... // 原来的配置
      "link": {
        "native": {
          "cc": "你的C编译器"
        }
      }
    }
    

下一次 release 或者明天安装一下 nightly 版本的编译器应该问题就会修复了,然后就不改配置也可以工作了。