C++ 什么';在没有DLL的情况下使用libcURL的正确方法是什么?

C++ 什么';在没有DLL的情况下使用libcURL的正确方法是什么?,c++,libcurl,C++,Libcurl,最近设法在测试程序中使用libcurl来下载文件。 代码如下: CURL * curl; FILE * fout; CURLcode result; char * url = "http://blablabla.com/blablabla.txt"; char filename[FILENAME_MAX] = "blablabla.txt"; curl = curl_easy_init(); if (curl) { fout = fopen(filenam

最近设法在测试程序中使用libcurl来下载文件。 代码如下:

  CURL * curl;
  FILE * fout;
  CURLcode result;
  char * url = "http://blablabla.com/blablabla.txt";
  char filename[FILENAME_MAX] = "blablabla.txt";
  curl = curl_easy_init();
  if (curl)
  {
    fout = fopen(filename,"wb");
    curl_easy_setopt(curl, CURLOPT_URL, url);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, fout);
    result = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
    fclose(fout);
  }
还有这些指令:

#define CURL_STATICLIB
#include <curl/curl.h>
在homesite中找不到相关信息(http://curl.haxx.se)你的意思是,“如何静态链接libcurl”

5.7在上述内容中:

构建使用静态libcurl库的应用程序时,必须将
-DCURL\u STATICLIB
添加到
CFLAGS
。否则,链接器将查找动态导入符号。如果您使用的是Visual Studio,则需要在“预处理器定义”部分添加
CURL\u STATICLIB


请理解,我需要DLL的源代码,但找不到它。已经下载了curl-7.24.0-devel-mingw32,但还没有。只是随机的files@1000Gbps不,您不需要源代码。.a文件是您所需要的全部。请看下面Lightness的答案。对不起,我听不懂你说的话,英语不是我的成熟语言。我已经研究了一段时间了,实际上没有关于如何正确地做到这一点的信息,尽管所有的页面都有CURL附带的几乎无用的指令文件的副本。我遇到了构建脚本的问题,甚至编译错误。对于没有构建CURL经验的人来说,静态链接似乎是不可能的,而且也找不到太多关于它的信息。上面的代码可以很好地将文件下载到服务器,另外一个没有用户名和密码的东西(即匿名)也可以很好地运行上面的代码。
libcurl.dll
libeay32.dll
libidn-11.dll
librtmp.dll
libssh2.dll
libssl32.dll
zlib1.dll
CURL *curl;
CURLcode res;
CString strUser;
FILE *ftplister;
m_FTPUserName.GetWindowTextW (strUser);
CT2CA PUF_File_HostName(PUF_FIle_Host);
CT2CA FTP_UserName(FTP_USERNAME);
FTP_PASSWORD.Append(L":");
FTP_PASSWORD.Append(FTP_USERNAME);
CT2CA FTP_Password(FTP_PASSWORD);
CT2CA FTP_AddressName(FTP_Address);
CString strLocalFile;
CString strFileName;
m_FTPFileName.GetWindowTextW(strFileName);
strLocalFile.Append(FTP_FileName);
strLocalFile.Append(L"\\");
strLocalFile.Append(strFileName);
CT2CA PUF_LocalFile(strLocalFile);
//ofstream stream2(PUF_LocalFile);

curl = curl_easy_init();
if(curl)
{
    ftplister=fopen(PUF_LocalFile,"wb");
    curl_easy_setopt(curl,CURLOPT_URL,PUF_File_HostName);
    if(strUser!=_T(""))
    {
    curl_easy_setopt(curl,CURLOPT_USERPWD,FTP_Password);
    }
    curl_easy_setopt(curl, CURLOPT_FTP_SSL, TRUE);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &write_data);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, ftplister);
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
    fclose(ftplister);
}