交叉编译时的 llvm 构建问题

问题描述 投票:0回答:1

我正在尝试使用 cygwin 将 llvm 从 Windows 交叉编译到类似 x86 架构的 Linux。我正在使用 cygwin 的 windows cmake,因为我在使用 cygwin cmake 时遇到了一些路径问题。我面临以下错误,

make[3]: *** No rule to make target 'NATIVE/bin/llvm-min-tblgen.exe', needed by 'include/llvm/TargetParser/RISCVTargetParserDef.inc'.  Stop.
make[2]: *** [CMakeFiles/Makefile2:6501: include/llvm/TargetParser/CMakeFiles/RISCVTargetParserTableGen.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:15989: tools/llc/CMakeFiles/llc.dir/rule] Error 2
make: *** [Makefile:4648: llc] Error 2

你能建议一些方法来解决这个问题吗?

c++ llvm cross-compiling llc
1个回答
0
投票

交叉编译 NATIVE/bin/llvm-min-tblgen.exe 是使用主机系统的编译器本地生成的,在我的例子中,它使用交叉编译器本身,因此它生成 NATIVE/bin/llvm-min-tblgen导致搜索.exe失败。所以我的解决方法是使用 VS Code 生成原生组件,然后将它们添加到适当的目录中。

© www.soinside.com 2019 - 2024. All rights reserved.