我已经尝试了所有可以在网上找到的方法,但我一直收到错误消息“未定义对‘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。
提前致谢,在这个问题上停留的时间太长了。
最佳答案
这是一个链接问题。
当您右键单击并转到函数或变量的定义或声明时,这是基于 IDE 而不是编译器。编译器必须非常严格地链接到 cURL 库,无论是在命令行中作为编译器标志还是在您的 IDE 设置中(为您创建命令行)。
当我在 Win7 上使用 MVS10 时,我最初遇到了类似的问题。许多关于如何将 curl 正确链接到您的 IDE 的指南非常具体,在许多情况下并不适合您的情况。 我强烈建议您从最新的 curl 文件编译您自己的库,无论它是静态的还是动态的。动态是最容易编译的(我发现),在你必须链接你的 DLL 之前做一个基本的编译。如果没有 DLL 的链接,该程序将不会运行,但可能仍会编译。 祝你好运!
关于c++ - 试图让 curl 在 c++ linux 和 GDB 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19392751/