【问题标题】:I can't use curl and I can't figure out why [closed]我不能使用 curl,我不知道为什么[关闭]
【发布时间】:2015-10-18 04:16:03
【问题描述】:

我正在尝试让this sample code 工作,但我不断收到错误。

我使用的是 Qt,所以我添加了 curl.h 文件并将其包含在内,然后将代码原样粘贴在示例中(#include 除外,它是不同的路径)。

但是当我构建时,我得到了 10 个编译器错误,我不知道它们是什么意思,比如:

...\main.cpp:11: error: undefined reference to `_imp__curl_easy_init'    
...\main.cpp:13: error: undefined reference to `_imp__curl_easy_setopt'

等等。

我不确定我是否使用了正确的库/头文件,我不知道我做错了什么。

我下载了curl-7.45.0.zip 并将“include/curl”中的 curl.h 包含到我的项目中,我可以看到 Qt 会读取它,因为自动完成功能有效。

我使用的是 Windows 7 64 位。

已解决:我不得不使用 MinGW 库并修改 .pro 文件以添加 -lcurl

【问题讨论】:

  • 对不起,我不知道它是怎么调用的,也许我应该搜索错误,谢谢。
  • 嘿,我设法编译它(我想),现在错误不同了。它说它找不到-llibcurl.dll。知道我做错了什么吗?
  • 您的应用程序找不到 DLL 的路径。看这个答案stackoverflow.com/questions/2119539/…
  • 我应该在某处设置环境路径吗?但是 .dll 不在文件夹中的任何地方,我认为这不会解决任何问题吗?也许我在编译时做错了什么?有一个 libcurl-4.dll 但不是我需要的 llibcurl.dll。很抱歉问了这么多问题,但我真的很绝望。

标签: c++ qt curl header


【解决方案1】:

你应该告诉编译器 curl 库在哪里。你可以使用 pkg-config 来做这件事,让它变得更简单。

$(pkg-config --cflags libcurl)

【讨论】:

  • 在 Windows 7 64 位上,不确定这是否会有所帮助
  • 啊。很久没用windows了,不知道pkg-config有没有。你可以只写 lib 的完整路径而不是那个。
  • 我不是提出这个问题的人。我宁愿告诉你的答案超出了主题,因为 OP 声明他使用的是 Windows 7 64 位(尽管我已经 15 年没有使用 Windows,但我敢打赌没有 pkg​​config)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
相关资源
最近更新 更多