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

如何在CMake中正确链接OpenSSL?Ubuntu环境链接失败排查

问题:Ubuntu 22.04下CMake链接OpenSSL报错找不到OPENSSL::SSL目标

我在Ubuntu 22.04系统中尝试通过CMake将OpenSSL库链接到项目,编写的CMake配置代码如下:

cmake_minimum_required(VERSION 3.4.1)

project (test)

add_executable(test test.cpp)

find_package(OpenSSL REQUIRED)


target_link_libraries(
    test PRIVATE OPENSSL::SSL
)

执行后出现错误:Target "test" links to target "OPENSSL::SSL" but the target was not found. 我已通过sudo apt install libssl-dev安装OpenSSL,请问该如何解决此问题?

解决方法
  • 升级CMake最低版本要求:OPENSSL::SSL这类导入目标是CMake 3.5及以上版本才支持的特性,你的配置里指定的最低版本是3.4.1,直接调高版本即可:

    cmake_minimum_required(VERSION 3.5)
    

    Ubuntu 22.04默认自带的CMake版本是3.22.1,完全满足这个要求。

  • 改用传统变量链接(兼容旧版本CMake):如果调整版本后仍有问题,可以放弃导入目标,使用find_package(OpenSSL)提供的传统变量:

    find_package(OpenSSL REQUIRED)
    target_link_libraries(test PRIVATE ${OPENSSL_LIBRARIES})
    target_include_directories(test PRIVATE ${OPENSSL_INCLUDE_DIR})
    
  • 清理CMake缓存重新构建:有时候旧的缓存会导致异常,删除build目录后重新生成:

    rm -rf build && mkdir build && cd build && cmake ..
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:45:41