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

Windows11编译AmazonGamelift C++ SDK遇OpenSSL相关CMake错误求助

Windows 11编译Amazon GameLift C++ Server SDK的OpenSSL检测失败问题

环境与操作步骤

操作系统:Windows 11
按照官方文档的编译流程执行以下命令,在cmake阶段触发错误:

mkdir out
cd out
cmake -G "Visual Studio 17 2022" -DBUILD_FOR_UNREAL=1 ..
msbuild ALL_BUILD.vcxproj /p:Configuration=Release

错误信息

-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631.
CMake Error at C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
  system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY) (found
  version "3.0.14")
Call Stack (most recent call first):
  C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.27/Modules/FindOpenSSL.cmake:668 (find_package_handle_standard_args)
  CMakeLists.txt:10 (find_package)

疑问与已尝试操作

疑问点

  • 已配置OPENSSL_ROOT_DIR环境变量,为何仍提示未找到OpenSSL?
  • 错误显示“found version "3.0.14"”却报未找到,是否存在版本兼容问题?
  • “missing: OPENSSL_CRYPTO_LIBRARY”是否为独立故障?

已尝试方案

  • 添加OPENSSL_CONFG、OPENSSL_INCLUDE_DIR、OPENSSL_LIBRARIES等环境变量
  • 更换OpenSSL安装路径
  • 降级OpenSSL至3.0.14版本
    以上操作均未解决问题。

解决方案

1. 匹配OpenSSL架构与编译目标

CMake检测失败最常见原因是OpenSSL架构与Visual Studio编译架构不匹配:

  • 若使用64位Visual Studio(默认),必须安装64位OpenSSL,32位版本会导致无法定位libcrypto.lib(即OPENSSL_CRYPTO_LIBRARY)
  • 64位OpenSSL默认安装路径为C:\Program Files\OpenSSL-Win64,32位为C:\Program Files (x86)\OpenSSL-Win32

2. 直接在CMake命令中指定OpenSSL路径

环境变量可能因终端未重启、权限问题未生效,可直接在cmake命令中显式声明路径:

cmake -G "Visual Studio 17 2022" -DBUILD_FOR_UNREAL=1 -DOPENSSL_ROOT_DIR="C:/Program Files/OpenSSL-Win64" -DOPENSSL_CRYPTO_LIBRARY="C:/Program Files/OpenSSL-Win64/lib/libcrypto.lib" ..

注意路径使用正斜杠或双反斜杠,避免转义错误。

3. 检查Visual Studio组件完整性

确保Visual Studio 2022已安装以下组件:

  • C++开发工具核心组件
  • Windows SDK
  • C++ CMake工具组件
    同时尝试以管理员身份运行终端,避免权限导致的文件访问限制。

4. 切换至兼容性更好的OpenSSL版本

部分旧版CMake对OpenSSL 3.x系列的支持存在细节问题,可尝试安装OpenSSL 1.1.1系列(如1.1.1w,长期支持版),安装后在cmake命令中指定对应路径即可。

5. 清理CMake缓存后重试

删除现有out目录,重新创建并执行cmake命令,避免旧缓存干扰检测逻辑:

rmdir /s out
mkdir out
cd out
cmake -G "Visual Studio 17 2022" -DBUILD_FOR_UNREAL=1 -DOPENSSL_ROOT_DIR="C:/Program Files/OpenSSL-Win64" ..

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 16:47:04