BoringSSL CMakeLists.txt报错:Unknown processor:AMD64 解决方法求助
解决VS22中BoringSSL "Unknown processor:AMD64" CMake配置错误
问题原因
Windows系统下CMake返回的处理器标识为AMD64,而旧版本的BoringSSL CMake脚本仅识别小写的amd64或类Unix系统的x86_64,导致架构匹配失败。
解决方案
方案1:修改BoringSSL的CMakeLists.txt(临时修复)
- 定位到报错文件:
out/build/x64-Debug/_deps/grpc-src/third_party/boringssl-with-bazel/CMakeLists.txt - 找到第89行附近的处理器判断代码块,通常类似:
if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|amd64|i386|arm|aarch64)$") message(FATAL_ERROR "Unknown processor:${CMAKE_SYSTEM_PROCESSOR}") endif() - 将
AMD64加入匹配规则,修改后:if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|amd64|AMD64|i386|arm|aarch64)$") message(FATAL_ERROR "Unknown processor:${CMAKE_SYSTEM_PROCESSOR}") endif() - 保存文件后重新运行CMake配置。
方案2:通过CMake参数强制指定架构(推荐,无需修改依赖源码)
- 在VS22的CMake配置界面,添加以下配置参数:
-DCMAKE_SYSTEM_PROCESSOR=x86_64 - 或使用命令行执行CMake时附加该参数:
cmake -S . -B out/build/x64-Debug -DCMAKE_SYSTEM_PROCESSOR=x86_64 - 该参数会强制传递
x86_64作为处理器标识,适配BoringSSL的识别逻辑。
方案3:更新GRPC/BoringSSL依赖版本
- 旧版本BoringSSL可能存在Windows架构适配缺陷,尝试升级GRPC到最新稳定版:
- 修改项目
CMakeLists.txt中FetchContent拉取GRPC的代码,指定最新tag:FetchContent_Declare( grpc GIT_REPOSITORY https://github.com/grpc/grpc.git GIT_TAG v1.59.0 # 替换为当前最新稳定版本号 ) - 删除
out/build目录,重新拉取依赖并执行CMake配置。
- 修改项目
验证
完成上述任一方案后,在VS22中右键项目选择「CMake -> 配置」,若不再出现架构报错,说明问题已解决,可继续编译流程。
内容的提问来源于stack exchange,提问作者Piyush Waghmare
相关产品推荐
相关产品推荐

