3

libcurl 是我将尝试使用的,用于从使用 Visual Studio 6 编译的 Windows XP 上运行的 C 程序向 JMS 队列发布消息。

有了这个我需要链接 libcurl.lib - 但我从哪里得到这个?

我将许多 lib 链接到我的程序(wsock32.lib、kernel32.lib 等),所以一旦我能掌握它,我就看不到问题了。

我已经下载了所有 Win32-Generic 二进制文件等(http://curl.haxx.se/download.html),但它们都不包含我需要的 lib/headers。

那里的任何人都知道我从哪里得到它们。

谢谢你的帮助。

  • 现在在 64 位机器上运行的问题 - 请参阅我的“答案”帖子
4

1 回答 1

1

我使用了您提供的链接(直接链接)。我现在将 libcurl_imp.lib 链接到我的 dll,它编译得很好。我的应用程序可以调用我的新库例程,这些例程可以很好地调用 curl 方法并且可以很好地工作 -但只能在 64 位机器上?- 如果我尝试在 32 位 XP 机器上运行相同的 dll/二进制应用程序,它会立即转储。事实上,我所有的应用程序都中止了——它们没有引用我的新库例程,它们只是使用 dll。似乎只是因为我在我的 dll 中构建了 cURL 调用,它立即中止了生成的进程——我只是明白了——</p>

1 + 完成(134)

5656 中止测试应用程序

我在 main 之后立即有一个 printf 语句,但在命令行上没有输出。

然后我从 dll 中删除了我所有的新库函数,除了一个之外,我所做的只是——</p>

CURLcode res = curl_global_init(CURL_GLOBAL_DEFAULT);

这一行导致我的所有应用程序在构建到我的 dll 时在 32 位上失败——将其注释掉,它们都可以工作。

如前所述,相同的 dll/二进制文件在我的 64 位机器上运行良好。64 位机器上的 curllib.dll 与我的 32 位机器上的相同。

对于信息,我的构建机器是 32 位的,我们有 32 位和 64 位的生产机器。

你发给我的链接实际上只有 64 位吗?

于 2012-09-19T10:12:19.547 回答