我正在尝试将libcurl用于我正在编写的程序,但我在使用它时遇到了一些问题。到目前为止,我只尝试了libcurl网站上的示例,但它们在程序到达curl初始化时立即崩溃。
我当前的代码:
#include <iostream>
#include <curl/curl.h>
int main(int argc, char *argv[])
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl)
{
curl_easy_setopt(curl, CURLOPT_URL, "http://garrysmod.fi/");
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
return 0;
}
我还确保编译器和链接器可以找到资源,并且dll文件(libcurl.dll)在程序的文件夹中,但它总是崩溃。我尝试使用VS2010进行调试,但在初始化函数curl_easy_init()时,它给出了一个“访问冲突”错误。
任何帮助都将不胜感激!
发布于 2010-10-26 09:05:58
这几乎可以肯定是动态链接库的不匹配。首先,检查您的路径中是否有任何较旧或不同版本的libcurl.dll。
我刚刚在MSVC 7.18.0 / Win32 generic的这个版本上使用VS2010 professional构建了你的代码片段,它工作得很好。
发布于 2011-02-14 22:52:17
程序在我的机器(ubuntu Box)上编译正常:
#g++ -lcurl url.c -o url
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Garry's Mod Finland - Etusivu</title>
<meta h ....
发布于 2010-10-24 23:51:29
您可以尝试在发行版编译中运行该程序,并查看它是否正常工作。我注意到,对于我在Windows上使用的一些开源库,如果您将调试构建与OS库的发布构建链接起来,事情就不会很好地工作。然后,我通常会将编译器选项设置为链接到调试版本中的库的调试版本和发布版本中的库的发布版本。
不幸的是,我从来没有费心去追查为什么会发生这种情况。这是值得尝试的东西。
https://stackoverflow.com/questions/4008921
复制相似问题