gpt4 book ai didi

c++ - CLion 中 lcurl 的问题

转载 作者:太空狗 更新时间:2023-10-29 20:56:19 30 4
gpt4 key购买 nike

我是 CLion 的新手,我想提高我在 libcurl 方面的技能。我在 Ubuntu 15.04 上安装了 libcurl4-openssl-dev。我的 CMakeLists.txt:

cmake_minimum_required(VERSION 3.3)
project(test)


set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -lcurl")
set(SOURCE_FILES main.cpp)
add_executable(test ${SOURCE_FILES})

但是当我尝试这个时:

#include <iostream>
#include <curl/curl.h>
#include <string>

using namespace std;

int main()
{
CURL *curl;
CURLcode result;
curl = curl_easy_init();
return 0;
}

他向我展示了这样的错误:

/home/me/ClionProjects/test/main.cpp:10: undefined reference to `curl_easy_init'

请帮帮我,谢谢

最佳答案

这通常意味着您的程序无法链接到
.a.so文件解析函数curl_easy_init。

.a 用于静态链接。 a 代表存档。
.so 用于动态链接的情况。 so 代表共享对象。

虽然您可能有 libcurl.alibcurl.so 可用,但它
可能是链接器在执行时无法找到它们。

指定链接器将在其中查找如下库的目录。

要找到 libcurl.a 的位置,您可以以 root 身份运行以下命令:

find / -name libcurl.a 

假设上面的命令给出:

/libcurl/folder/libcurl.a 

作为输出,您可以在 CMakeLists.txt 文件中添加以下行。

link_directories(/libcurl/folder /any/additional/path)

目标可以链接到库,然后使用。

target_link_libraries(test libcurl)

如果你正在做动态链接,你应该为 libcurl.so 做同样的事情

关于c++ - CLion 中 lcurl 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33856059/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com