0

我已经尝试了所有可以在网上找到的东西,但我不断收到错误“未定义对 '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。

提前感谢,被困在这个问题上太久了。

4

1 回答 1

1

这是一个链接问题。

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

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

于 2013-10-16T00:30:21.197 回答