简单记录Windows下编译libcurl要求支持sftp

故事背景

项目要求用个sftp客户端上传文件,准备用libcurl,这里把Windows下在VS2005的编译方法记录一下。
需要用到三个库:libcurl和libssh2和openssl

为啥要用libssh2

因为libcurl实现sftp功能依赖libssh2,是对libssh2的封装。
所以也可以直接用libssh2实现sftp。

为啥要用openssl

因为libssh2依赖openssl

下载源码

下载libcurl

链接: https://curl.haxx.se/download/
我这里选择的版本是7.31.0,因为这个版本的VS2005的工程建好了

下载libssh2

链接: https://www.libssh2.org/download/
我这里选择的版本是1.4.3

下载openssl

链接: https://www.openssl.org/source/old/0.9.x/
我这里选择的版本是0.9.8l

如何编译

编译openssl

  1. 下载并安装所需工具:Perl和NASM,安装完成后检查是否加入环境变量,没加入环境变量的话自己添加一下
  2. 解压openssl-0.9.8l.tar.gz
  3. 进入openssl-0.9.8l 执行 perl configure VC-WIN32
  4. 编译 nmake -f ms\nt.mak
  5. 编译完成会在openssl-0.9.8l\out32 中生成两个文件 libeay32.libssleay32.lib ,这两个文件在编译libssh2中会用到
  6. openssl编译出来的是静态库

编译libssh2

  1. 解压源码libssh2-1.4.3.tar.gz
  2. 用VC6打开libssh2-1.4.3\win32\libssh2.dsw
  3. 将openssl的头文件目录和静态库引入
  4. 编译libssh2这个工程
  5. 编译完成后会在Debug_dllRelease_dll中生成 libssh2.dlllibssh2.lib
  6. libssh2编译出来的是动态库

编译libcurl

  1. 解压源码 curl-7.31.0.tar.gz
  2. 进入 curl-7.31.0\vs\vc8\lib 打开 vc8libcurl.vcproj
  3. 直接编译是不带sftp功能的,这里libcurl用到了两个宏 USE_LIBSSH2HAVE_LIBSSH2_H,我们需要打开这两个宏并且引入libssh2的头文件和lib文件
  4. 设置完成后,编译
  5. 编译完成后会在 DebugRelease 中分别生成 vc8libcurl.dllvc8libcurl.lib

如何使用

  1. 测试程序需要引入libcurl的头文件和lib文件,编译才能通过
  2. 由于libssh2编译出来的是动态库,所以运行测试程序不仅需要 vc8libcurl.dll 而且还需要 libssh2.dll
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值