You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下用Cygwin交叉编译LLVM至类Linux x86架构时构建错误求助

解决LLVM交叉编译中llvm-min-tblgen.exe目标缺失的问题

你遇到的错误信息:

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
  • 统一环境工具链:放弃混合使用Windows版CMake和Cygwin环境,改用纯Cygwin工具链。先卸载Windows版CMake,在Cygwin包管理器中安装cmake、make、gcc等编译依赖,重新初始化编译环境。路径问题通常是因为Windows版CMake生成的路径格式(如盘符、反斜杠)和Cygwin的POSIX路径不兼容,纯Cygwin工具链能避免这类冲突。

  • 指定原生工具链路径:如果必须保留Windows版CMake,在执行CMake配置时,明确指定原生编译工具的路径。添加-DLLVM_TABLEGEN=<cygwin路径下的llvm-tblgen>参数,比如-DLLVM_TABLEGEN=/usr/bin/llvm-tblgen,确保CMake能找到正确的tblgen工具生成所需的.inc文件。

  • 检查编译目录权限与路径:确保编译目录的路径不含中文、空格或特殊字符,Cygwin对这类路径的兼容性较差。同时验证NATIVE/bin目录是否存在,手动创建该目录并赋予读写权限,避免因目录缺失导致make找不到目标文件。

  • 强制重新生成Makefile:删除原有的CMakeCache.txt和build目录,重新执行CMake配置命令。配置时添加-DCMAKE_MAKE_PROGRAM=/usr/bin/make指定Cygwin版make,避免Windows版make(如果存在)造成的兼容性问题。

内容的提问来源于stack exchange,提问作者29_MOHAMMED_ZUHAIB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 00:33:13