Executorch环境搭建运行install_requirements.sh时遭遇CMake工具集指定错误
Executorch环境搭建运行install_requirements.sh时遭遇CMake工具集指定错误
我明白你在跟着Executorch搭建教程配置环境时,运行./install_requirements.sh碰到了这个闹心的CMake错误,先给你理理问题根源和可行的解决思路:
问题重现
你执行脚本后遇到的错误信息如下:
CMake Error at CMakeLists.txt:45 (project):
GeneratorNMake Makefiles
does not support toolset specification, but toolset
Clang
was specified.
你尝试修改脚本里的CMAKE_ARGS += " -T ClangCL"参数但没解决问题,大概率是因为生成器和工具集的搭配不对。
解决思路
- 确认CMake生成器类型:先运行
cmake --help查看当前系统可用的生成器。NMake Makefiles确实不支持通过-T指定工具集,你需要换成支持工具集的生成器,比如Windows下的Visual Studio 17 2022,或者MinGW Makefiles这类。 - 匹配生成器修改CMAKE_ARGS:
- 如果用Visual Studio系列生成器,
-T ClangCL是有效的,这时候可以保留这个参数,但要确保你的Visual Studio安装了Clang工具组件; - 如果用其他不支持
-T参数的生成器,直接移除-T ClangCL,或者改用-DCMAKE_C_COMPILER=clang和-DCMAKE_CXX_COMPILER=clang++来直接指定Clang编译器。
- 如果用Visual Studio系列生成器,
- 手动指定生成器再运行脚本:在执行
./install_requirements.sh前,先设置环境变量指定生成器:- Windows cmd:
set CMAKE_GENERATOR="Visual Studio 17 2022" - Linux/macOS或Git Bash:
export CMAKE_GENERATOR="Visual Studio 17 2022"
之后再运行脚本,CMake就会用你指定的、支持工具集的生成器来构建。
- Windows cmd:
- 检查Clang安装状态:确保Clang已经正确添加到系统PATH中,或者在CMake参数里明确指定编译器的绝对路径,避免CMake找不到对应的工具链。
备注:内容来源于stack exchange,提问作者RCH
相关产品推荐
相关产品推荐

