该报错一般在使用 Bazel 构建 C++ 项目时出现,原因是 Bazel 默认无法识别 WASI(WebAssembly System Interface)目标平台。 解决方式是在项目根目录下的 WORKSPACE 文件中添加如下代码:
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
git_repository( name = "wasi-sdk", remote = "https://github.com/CraneStation/wasi-sdk.git", tag = "wasi-sdk-12", )
load("@wasi-sdk//tools/bazel:wasi_sdk_configure.bzl", "wasi_sdk_configure") wasi_sdk_configure()
然后在 BUILD 文件中,将目标平台设置为 “@wasi-sdk//targets:wasm32”, 如下所示:
cc_test(
name = "my_test",
srcs = ["my_test.cc"],
outpuuts = ["my_test"],
target_platform = "@wasi-sdk//targets:wasm32",
)
完成后重新运行构建过程即可。