从源代码构建时 llvm 没有注册目标

kin*_*sci 5 c++ compiler-construction operating-system llvm llc

我正在使用 LLVM c 绑定来编写编译器,当我尝试从默认目标三元组 (x86_64-pc-windows-msvc) 创建目标时,LLVM 表示没有注册目标。

llvm::InitializeNativeTarget();
llvm::InitializeAllTargetInfos();
llvm::InitializeAllTargets();
llvm::InitializeAllTargetMCs();
llvm::InitializeAllAsmParsers();
llvm::InitializeAllAsmPrinters();

auto target_triple = llvm::sys::getDefaultTargetTriple();
std::string err; // unable to find target for this triple (no targets are registered)
auto target = llvm::TargetRegistry::lookupTarget(target_triple, err);

llvm::TargetRegistry::printRegisteredTargetsForVersion(llvm::outs()); // prints (none)
Run Code Online (Sandbox Code Playgroud)

我已经从源代码构建了 LLVM,并使用 LLVM_TARGETS_TO_BUILD=all 标志来启用所有目标。然而,当我调用 llc --help 时,会列出大量目标。那么为什么 llvm C++ 代码找不到目标呢?