c++获取sftp服务器文件
1,cmd登录
命令:sftp -P 22 username@127.0.0.1
2,sftp工具:WinSCP
3,从github下载win32平台下的sftp代码https://github.com/chenzhongkun/ftp_sftp
sftp文件上传下载依赖libssh2,libss2依赖openssl
libssh2 是一个 C 函数库,用来实现 SSH2 协议
OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库
4,将win32平台下代码转为x64平台下
1,编译openssl
https://github.com/openssl/openssl,选择openssl-OpenSSL_1_0_2-stable分支下载
这个程序还用到了libeary32.lib,是openssl生成的静态库,这里没有用到动态链接。我编译了openssl,不过后面发现程序里面自带的libeary.lib不用替换也可以。
2,编译libssh2
版本:libssh2-1.8.0,使用cmake生成64位vs工程。有报错,不用管。然后用vs打开,进行编译,会在输出目录下看到libssh2.lib
3,将ibssh2-1.8.0/buildc/src/Release下libssh2.lib拷贝到sftp/libssh2/下替换。
心得:
LINK开头的错误、未定义标识符的错误,一般都是链接lib库的问题,没有找到对应的lib库或者lib库的版本不对。
配置环境等等先看官方文档,官方文档一般写的很好,而且各种可能会出现的问题都会写到,比起靠百度的运气好很多。
原创文章,作者:dweifng,如若转载,请注明出处:https://blog.ytso.com/275398.html