我试图将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库链接?
答案 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)