【问题标题】:Libcurl+QtCreator+debianLibcurl+QtCreator+debian
【发布时间】:2014-04-06 18:35:55
【问题描述】:

我是 Linux 新手,所以遇到了很多麻烦。

我想在我的 Qt 项目 (C++) 中使用 curl。我创建了项目,然后在我的 main.cpp 中写入

#include <curl/curl.h>

int main( void ){
    CURL *curl;

    /* First step, init curl */
    curl = curl_easy_init();
    if (!curl) {
       return -1;
    }

    return 0;
}

我尝试编译该代码,但有一个错误:未定义对 'curl_easy_init()' 的引用 比我意识到的,QT Creator 想要知道图书馆的路径。 我打开 test.pro 文件并追加:

INCLUDEPATH += /usr/lib/x86_64-linux-gnu/

LIBS += /usr/lib/x86_64-linux-gnu/libcurl.a
LIBS += /usr/lib/x86_64-linux-gnu/libcurldll.a

然后报错:libcurlldll.a 没有这样的文件或目录。 绝对没有这个库,但我尝试安装/重新安装所有类型的 libcurl,但它不起作用。

我尝试搜索信息的网站:

http://www.cplusplus.com/forum/general/89488/

http://curl.haxx.se/libcurl/using/apps.html

https://stackoverflow.com/

请把我重定向到非常简单的指南“如何在 Debian 上的 QT Creator 中使用 libcurl”或类似的东西。我需要分步指南。或者你可以在那里写给我,然后每个人都可以使用它?

对不起我的英语,我只是在学习。谢谢!

【问题讨论】:

  • 你安装了 libcurl-dev 吗?你试过LIBS+=-lcurl吗?
  • 是的,是的。我已经阅读了 stackoverflow 上几乎所有关于 libcurl 的帖子
  • 我添加了 libcurl.dll.a 文件项目并使用库导入器来创建库依赖项。但它仍然给出未定义的错误。我在什么声明上出错了?你有没有用这个解决你的错误?你也可以分享代码吗?我正在尝试从小部件构造函数实例化 curl。= 与主要不同。错误是 >>> :-1: error: undefined reference to _imp__curl_easy_init' 并且其他 curl 函数也存在错误。

标签: c++ qt curl libcurl qmake


【解决方案1】:

这对我来说很好用:

main.cpp

#include <curl/curl.h>

int main( void ){
    CURL *curl;

    /* First step, init curl */
    curl = curl_easy_init();
    if (!curl) {
       return -1;
    }

    return 0;
}

main.pro

TEMPLATE = app
TARGET = curl
QT -= core gui

LIBS += -lcurl

# CONFIG += link_pkgconfig
# PKGCONFIG += curl

SOURCES += main.cpp

正如您在评论中看到的,您还可以使用 pkgconfig 代替 LIBS 变量,这可能会更整洁。

确保您已安装所有必要的相应软件包,例如开发等。

【讨论】:

  • 谢谢!这是完全完整的答案。但我想澄清一下:“link_pkgconfig”是指到 pkgconfig 的路径(因为它在这种情况下不起作用)还是别的什么?
  • @gek0n:这意味着 Qt 将对附加到 PKGCONFIG 变量的“foo”使用 pkgconfig 支持。我的 Archlinux 上的 curl 包配置文件 (.pc) 已损坏,因此您可能会遇到同样的问题,但希望这不是 Qt 方面的问题。
  • 我添加了 libcurl.dll.a 文件项目并使用库导入器来创建库依赖项。但它仍然给出未定义的错误。我在什么声明上出错了?你有没有用这个解决你的错误?你也可以分享代码吗?我正在尝试从小部件构造函数实例化 curl。= 与主要不同。错误是 >>> :-1: error: undefined reference to _imp__curl_easy_init' 并且其他 curl 函数也存在错误。
猜你喜欢
  • 2018-08-12
  • 2017-08-26
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 2015-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多