【问题标题】:Trying to get curl to work in c++ linux and GDB试图让 curl 在 c++ linux 和 GDB 中工作
【发布时间】:2013-10-15 23:23:10
【问题描述】:

我已经尝试了所有可以在网上找到的方法,但我不断收到错误消息“未定义对 'curl_global_init' 的引用”

有几个地方建议将 -lcurl 放在命令行中,但这是通过 Visual GDB/Visual Studio 完成的,我不确定该放在哪里。我尝试了十几个地方都没有运气。

#include "curl/curl.h"
int main(int argc, char *argv[])
{
CURL *curl;
   CURLcode res;

   curl_global_init( CURL_GLOBAL_ALL );
}

我可以右键单击 curl_global_init 并毫无问题地转到定义。 另外,我可以在我的树莓派上从命令行很好地运行 curl。

先谢谢了,卡在这上面太久了。

【问题讨论】:

  • gcc -Wall -g testcurl.c -lcurl -o testcurl编译你的程序

标签: c++ linux curl gdb raspberry-pi


【解决方案1】:

这是一个链接问题。

当您右键单击并转到函数或变量的定义或声明时,这是基于 IDE 而不是编译器。编译器必须在命令行中作为编译器标志或在您的 IDE 设置(为您创建命令行)中非常严格地链接到 cURL 库。

当我在 Win7 上使用 MVS10 时,我最初遇到了类似的问题。许多关于如何将 curl 正确链接到您的 IDE 的指南都非常具体,并且在许多情况下不适用于您的情况。 我强烈建议您从最新的 curl 文件编译您自己的库,无论它是静态的还是动态的。动态是最容易编译的(我发现)在你必须链接你的DLL之前做一个基本的编译。没有 DLL 的链接,该程序将无法运行,但仍可以编译。 祝你好运!

【讨论】:

    猜你喜欢
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    相关资源
    最近更新 更多