CMake报错:cl.exe(32位)与Visual Studio生成器(64位)不匹配求助
解决CMake提示cl.exe(32位)与Visual Studio生成器(64位)不匹配的问题
问题分析
手动添加x64版本cl.exe到PATH后仍报错,核心原因是当前打开的VS开发者命令提示符为32位版本,它会自动覆盖PATH配置,优先加载32位工具链,导致CMake检测到的还是32位cl.exe。
解决方案
打开正确的64位开发者提示符
从Windows开始菜单找到「Visual Studio 2022」文件夹,选择「x64 Native Tools Command Prompt for VS 2022」启动。打开后执行以下命令确认cl.exe路径:where cl.exe输出应为类似
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\<版本号>\bin\Hostx64\x64\cl.exe,而非Hostx86目录下的文件。清理旧构建缓存
删除C:\Users\KBSI\OpenMS\JK_contrib目录下的所有文件(包括CMakeFiles文件夹、CMakeCache.txt等),避免旧缓存残留导致配置冲突。重新执行CMake命令
在正确的x64提示符中进入JK_contrib目录,重新运行你的CMake命令:cmake -DBUILD_TYPE=ALL -DNUMBER_OF_JOBS=4 -G "Visual Studio 17 2022" -A x64 "C:\Users\KBSI\OpenMS\contrib"额外排查项
- 若仍有问题,检查系统PATH环境变量,确保x64版本cl.exe的路径排在32位路径之前;不过更建议依赖VS自带的提示符自动配置环境,避免手动修改PATH带来的冲突。
- 确认VS2022安装时已勾选「Desktop development with C++」工作负载,以及x64编译组件,缺失的话启动VS Installer补充安装。
内容的提问来源于stack exchange,提问作者JaeKwan Kim
相关产品推荐
相关产品推荐

