用 Mac 编译

    • 型号
      • M1
    • 操作系统
      • Big Sur
      • Catalina

    如果您想在 MacOS 上开发 WasmEdge,请按照这个教程从源码进行构建和测试。

    依赖组件

    WasmEdge 会基于最新版本的 LLVM 来创建我们的每日构建。如果你想从源码构建的话,需要自己手动来安装下面的这些依赖。

    • LLVM 12.0.0 (>= 10.0.0),使用 brew 安装,请勿使用系统自带的 LLVM。
    • 因为最新版本 brew 中的 LLVM 默认版本是 13。请使用 来调整 LLVM 的版本。

    如果你不需要预编译的运行时/编译器

    WasmEdge 提供了丰富的工具来支撑更好的性能以及更多样的运行时环境,编译完成后,你可以找到以下几个 WasmEdge 相关的工具:

    1. wasmedge 是 wasm 的通用运行时。
      • wasmedge 可以在解释器模式下执行一个 WASM 文件,也可以在预编译模式下执行一个 WASM dyld 文件。
      • 你可以通过将 CMake 配置项 WASMEDGE_BUILD_TOOLS 设置成 来禁止构建所有工具。
    2. 是 WasmEdge C API 的共享库。
      • libwasmedge_c.dyld 提供了访问预编译器和 WASM 运行时的 C 语言 API。
      • 如果 WASMEDGE_BUILD_AOT_RUNTIME 配置项被设置成 OFF ,那么与预编译器相关的 API 都将会返回错误。
      • 你可以通过将 CMake 配置项 WASMEDGE_BUILD_SHARED_LIB 设置成 OFF 来禁止构建共享库。

    运行内置测试

    以下内置测试只有在构建标志 WASMEDGE_BUILD_TESTS 设置为 ON 时才可用。

    接下来,参考在 上运行 WebAssembly 字节码程序。

    以下测试无法在 MacOS 上通过,我们正在调查这些问题:

    • wasmedgeAPIVMCoreTests
    • wasmedgeAPIStepsCoreTests
    • wasmedgeAPIAOTCoreTests