如何使CMake与外部库链接?

时间:2020-01-27 18:15:37

标签: cmake

我试图将CLake纳入CMake,以构建一个与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库链接?

1 个答案:

答案 0 :(得分:2)

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

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

如前所述,除非您试图让CMake替代另一个,否则您无需将 full 路径放入curl库中,除非系统路径。 em> curl库也可能在您的系统中。鉴于您的gcc命令仅使用了curl,您可以将调用简化为:

target_link_libraries(http_examples_c PUBLIC curl)