CMake Hunter报错:Unexpected MSVC_VERSION 编译kawpowminer失败
解决kawpowminer编译时CMake Hunter报"Unexpected MSVC_VERSION: '1933'"错误
问题分析
你遇到的错误根源有两点:一是VS2022 v17.3.3对应的MSVC编译器版本为1933,你使用的Hunter版本(v0.23.33)未适配该版本;二是你指定了错误的CMake生成器(Visual Studio 16 2019),导致工具链版本与生成器不匹配,触发Hunter的版本校验逻辑报错。
解决方案
1. 修正CMake生成器参数
放弃指定"Visual Studio 16 2019",改用VS2022对应的生成器,并明确x64平台:
cmake -G "Visual Studio 17 2022" -A x64 C:\Users\MEuser\kp
2. 升级Hunter到支持MSVC 1933的版本
找到项目根目录的CMakeLists.txt,修改开头的HunterGate配置,将版本升级到v0.24.11及以上(该版本开始支持MSVC 1930+系列版本):
HunterGate( URL "https://github.com/cpp-pm/hunter/archive/v0.24.11.tar.gz" SHA1 "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0" # 替换为v0.24.11对应的SHA1值,可从Hunter仓库release页面获取 LOCAL )
注:如果暂时无法获取SHA1,可临时移除SHA1行用于测试,但正式编译建议保留校验。
3. 清理CMake缓存后重新执行
删除编译目录下的CMakeCache.txt、CMakeFiles文件夹(或者直接删除整个build目录),避免旧缓存干扰:
rmdir /s /q build mkdir build cd build # 重新执行cmake命令 cmake -G "Visual Studio 17 2022" -A x64 ..
4. 确认工具链环境正确性
在VS2022开发者命令提示符中执行以下命令,验证MSVC版本是否正确加载:
cl.exe
输出开头应包含Microsoft (R) C/C++ Optimizing Compiler Version 19.33.31630或类似版本号,确保工具链与VS2022一致。
内容的提问来源于stack exchange,提问作者RetoZ
相关产品推荐
相关产品推荐

