windows vs2005 libcurl使用整理

  1. 获取源码

下载 https://curl.haxx.se/download/curl-7.56.0.tar.gz 解压 tar -zxvf curl-7.56.0.tar.gz

  1. 使用vs2005打开工程,根据需求打开相应的工程

编译libcurl和curl D:\curl-7.56.0\projects\Windows\VC8\curl-all.sln

如果只编译libcurl,只需要打开 D:\curl-7.56.0\projects\Windows\VC8\lib\libcurl.sln

  1. 编译libcurl

编译libcurl工程时输出提示 1>d:\curl-7.56.0\lib\ssh.h(28) : fatal error C1083: 无法打开包括文件:“libssh2.h”: No such file or directory 看一下预处理器定义 _DEBUG BUILDING_LIBCURL DEBUGBUILD USE_OPENSSL USE_LIBSSH2 HAVE_LIBSSH2_H

如果不需要不使用libssh,可以将ssl相关的预处理宏,即删除以下预处理宏: USE_OPENSSL USE_LIBSSH2 HAVE_LIBSSH2_H

默认是编译动态库,如果需要编译静态库,需要做以下处理: 解决方案配置修改成 LIB Debug, 配置类型修改为静态库(.lib), 编译libcurl,生成libcurld.lib

  1. 测试

新建代码测试工程, 添加D:\curl-7.56.0\include\curl文件夹内所有头文件, 添加libcurld.lib, 使用静态库需要修改预处理器定义 CURL_STATICLIB 附加依赖项添加 ws2_32.lib wldap32.lib libcurld.lib

#include <stdio.h>
#include "curl/curl.h"

int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/");
    res = curl_easy_perform(curl);

    if(CURLE_OK == res) {
      char *ct;
      /* ask for the content-type */
      res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct);

      if((CURLE_OK == res) && ct)
        printf("We received Content-Type: %s\n", ct);
    }

    /* always cleanup */
    curl_easy_cleanup(curl);
  }
  return 0;
}

代码出处见 https://curl.haxx.se/libcurl/c/example.html getinfo Use getinfo to get content-type after completed transfer.

方法二:

使用cmake

转载于:https://my.oschina.net/randy1986/blog/1552954

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值