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

LLVM-16编译CMake报错:无法找到已存在的CMakePolicy.cmake文件

解决LLVM 16编译时CMake找不到CMakePolicy.cmake的问题

问题根源

错误提示中CMake尝试从C:/dev/llvm-16.0.0.src/../cmake/Modules/查找文件,也就是LLVM源码目录的同级目录下的cmake/Modules,但你实际将CMake模块文件放在了LLVM源码目录内部的cmake/Modules,路径不匹配导致找不到文件。

解决方案

提供三种可行方案,任选其一即可:

方案1:调整文件放置位置

将你解压得到的cmake-16.0.0.src/Modules文件夹,移动到LLVM源码目录的同级目录,也就是C:/dev/cmake/Modules,这样CMake就能按预期路径找到文件。

方案2:修改CMake命令,指定模块搜索路径

在原有CMake命令末尾添加-DCMAKE_MODULE_PATH参数,明确指定你的模块所在路径,修改后的命令如下:

cmake .. -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_ZLIB=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_COMMON_CMAKE_UTILS=OFF -Thost=x64 -A x64 -G "Visual Studio 17 2022" -DCMAKE_MODULE_PATH=C:/dev/llvm-16.0.0.src/cmake/Modules

方案3:修改LLVM源码的CMakeLists.txt

打开C:/dev/llvm-16.0.0.src/CMakeLists.txt,找到第13行的代码:

include(../cmake/Modules/CMakePolicy.cmake)

将其修改为:

include(cmake/Modules/CMakePolicy.cmake)

修改后CMake会从LLVM源码目录内部的cmake/Modules查找文件。

额外注意事项

  • 确保LLVM源码目录下的模块目录名是Modules(而非小写modules),虽然Windows不区分大小写,但保持一致可避免潜在问题。
  • 你的CMake版本3.25.1符合LLVM 16的最低要求(3.20+),版本兼容无需担心。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:47:33