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

使用CMake生成的可执行文件在其他电脑提示libcrypto-x64.dll缺失求助

解决libcrypto-x64.dll缺失问题

原因分析

你的可执行文件编译时动态链接了OpenSSL库,libcrypto-x64.dll是OpenSSL的核心加密组件,目标机器既没有安装对应版本的OpenSSL,也未将该DLL放置在程序目录下,因此触发缺失报错。

解决方案

1. 打包DLL到程序目录

  • 在你的编译机器上定位libcrypto-x64.dll:通常存放在OpenSSL安装目录的bin子文件夹(如C:\Program Files\OpenSSL-win64\bin),或是CMake编译时依赖的OpenSSL库对应的bin目录中。
  • 将找到的libcrypto-x64.dll与你的可执行文件放在同一文件夹内,再一起分享给目标机器。

2. 静态编译OpenSSL(推荐)

若不想依赖外部DLL,可通过CMake配置静态链接OpenSSL:

  • 确保你已获取OpenSSL的静态库文件(.lib格式)。
  • 修改CMakeLists.txt中的链接配置,强制静态链接:
    # 查找OpenSSL库
    find_package(OpenSSL REQUIRED)
    # 绑定静态库到目标程序
    target_link_libraries(你的目标程序名称 PRIVATE OpenSSL::Crypto OpenSSL::SSL)
    
  • 重新编译生成可执行文件,此时OpenSSL的代码会被打包进程序,无需额外依赖DLL。

3. 目标机器安装对应版本OpenSSL

让目标机器下载并安装与你编译环境匹配的64位OpenSSL版本(需注意静态/动态、版本号的一致性),安装完成后系统会自动识别该DLL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 03:42:02