Windows10下使用CMake编译LLVM报NMake不支持工具集指定错误
第一个报错(NMake不支持工具集指定)解决逻辑
- 报错根源是你执行CMake时没有手动指定生成器,VS开发者命令提示符下CMake默认会选择
NMake Makefiles生成器,而该生成器本身不支持-Thost=x64这类工具集指定参数,因此触发报错。 - 你后续改用
-G "Visual Studio 17 2022"指定VS 2022生成器的操作已经解决了该问题,新的报错和第一个问题无关。
第二个报错(utils/TableGen目录不存在)解决方法
这个报错是LLVM源码不完整导致的,根据你获取源码的方式对应处理即可:
- 若你是直接下载的zip格式源码包:zip包默认不会包含子模块的完整内容,你需要获取完整的LLVM项目源码包再重新配置。
- 若你是通过git克隆的源码:克隆时没有加
--recursive参数导致关联子模块没有拉取,执行以下命令补全子模块即可:
git submodule update --init --recursive
可选优化配置
你可以在CMake命令中按需补充以下参数,优化编译体验:
- 加上
-DCMAKE_BUILD_TYPE=Release:仅编译Release版本,大幅降低编译耗时和磁盘占用,适合不需要调试LLVM本身的场景 - 加上
-DLLVM_ENABLE_ZLIB=OFF -DLLVM_ENABLE_LIBXML2=OFF:关闭对zlib、libxml2的依赖,消除日志中这两个库缺失的警告,不影响LLVM和Clang的核心功能使用
内容的提问来源于stack exchange,提问作者SKNB
相关产品推荐
相关产品推荐

