【问题标题】:libcurl c++ curl_easy_init not workinglibcurl c++ curl_easy_init 不工作
【发布时间】:2013-02-06 23:00:11
【问题描述】:

我第一次尝试使用 windows + mingw + eclipse juno + curl 7.29 设置 curl。我设法让它编译和构建得很好。我为 lcurl 和 lcurldll 添加了两个标志。 出于某种原因,尽管以下方法不起作用:

#include <iostream>
#include <curl.h>
using namespace std;

int main(int argc,char *argv[]) {
 cout << "L1" << endl;
 CURL *curl;
 curl = curl_easy_init();
 cout << "L2" << endl;
}

L1 和 L2 都不会打印。如果我注释掉easy_init 行,尽管它运行良好。 我好像找不到类似的帖子,如果这是骗人的,请见谅。另外,我不能踏入任何东西,因为它一击运行就死了。我敢肯定这很明显。

提前致谢。

面向 C/C++ 开发人员的 Eclipse IDE 版本:Juno Service Release 1 内部版本号:20120920-0800

curl 版本:7.29.0 - 启用 SSL 网址:http://curl.haxx.se/gknw.net/7.29.0/dist-w32/curl-7.29.0-devel-mingw32.zip

至于mingw不知道我有哪个版本,我刚刚去http://sourceforge.net/projects/mingw/files/并下载/安装了最新版本。

在 Eclipse 中,在 MinGW C++ 链接器下,我有 curl 和 curldll 库。在杂项中,我有静态标志 - 这些是我更改的唯一编译器设置。

【问题讨论】:

  • 这对我来说无法编译,至少缺少&lt;iostream&gt;。您确定这段代码的 sn-p 确实可以编译并运行并显示上述行为吗?
  • 抱歉,我在示例中遗漏了#include ,我将对其进行更新。它确实可以编译,如果该行被注释掉,它确实会给我输出。
  • 你确定你没有忘记别的东西吗?它对我来说编译和运行良好。
  • 这就是问题所在。我想不出别的了?我添加了标志。 Mingw 有库。我检查了它到处都是相同的版本。这一切都可以很好地构建和编译。我想知道它是 eclipse 还是 mingw 问题,它们都是 64 位版本。还有什么我需要添加或包含的吗?
  • 所有包含的工具和库的版本以及编译和链接器命令/可能/给其他人一个线索。

标签: c++ curl mingw libcurl


【解决方案1】:

它确实对我有用,但我只需要在最后添加system("PAUSE"),因为控制台关闭后我才能看到任何东西。

这是我的代码:

#include <curl.h>
#include <iostream>

using namespace std;

int main(void)
{
    cout << "L1" << endl;

    CURL *curl;
    curl = curl_easy_init();

    cout << "L2" << endl;

    system("PAUSE");

    return 0;
}

如果您收到“无法打开包含文件:'curl.h':没有这样的文件或目录”或类似的消息,这是因为您在安装 curl 时遗漏了某些内容。 我花了很长时间才安装它。

【讨论】:

  • 谢谢,但系统暂停不是我的问题。正如我所提到的,当该行被注释掉时它打印得很好,所以这不是打印的问题。我认为这可能是我的安装问题,这是我正在努力弄清楚的部分。解决后我会继续尝试并回复。
猜你喜欢
  • 2015-03-25
  • 2011-04-29
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 2021-09-17
相关资源
最近更新 更多