【问题标题】:How do I get CMake to link with an external library? [duplicate]如何让 CMake 与外部库链接? [复制]
【发布时间】:2020-05-13 03:47:39
【问题描述】:

我正在尝试让 CMake 在 CLion 下构建一个与 curl 库链接的简单程序。从命令行构建如下:

gcc main.c -l curl

但是,我无法让 CMake 与 curl 库链接:

cmake_minimum_required(VERSION 3.15)
project(http_examples_c C)

set(CMAKE_C_STANDARD 99)

add_executable(http_examples_c main.c)
target_link_libraries(/usr/lib/x86_64-linux-gnu/libcurl.a)

如何告诉 CMake 只链接 curl 库?

【问题讨论】:

    标签: cmake


    【解决方案1】:

    使用target_link_libraries() 时,您需要告诉CMake 将库链接到您已经定义的特定目标。试试这样的:

    target_link_libraries(http_examples_c PUBLIC /usr/lib/x86_64-linux-gnu/libcurl.a)
    

    正如所评论的,您不需要将 curl 库的 完整路径 放在系统路径中,除非您试图让 CMake 选择这个 curl 库而不是 另一个 em> curl 库,也可能在您的系统中。鉴于您的 gcc 命令仅使用了 curl,您可能会将此调用简化为:

    target_link_libraries(http_examples_c PUBLIC curl)
    

    【讨论】:

    • target_link_libraries(http_examples_c PUBLIC curl)
    • @KamilCuk 很好,更新了答案。
    猜你喜欢
    • 1970-01-01
    • 2019-09-05
    • 2021-08-06
    • 1970-01-01
    • 2021-09-17
    相关资源
    最近更新 更多