由于实习工作中要用到基于sftp协议开发一个网络程序,同时要实现运行在Windows平台上,找来找去就这个libssh2库好用,在网络上算是有那么一点点的文档可以看。这个库还不是现成的,还要进行源代码编译,自己弄,看起来很复杂的样子。最可恨的是居然还不是简单的make&&make install 就可以的,还要依赖库。linux下好像简单的yum一下就可以的样子(羡慕)。整个环境搭建起来用了2天了。写一下,以后没准还要看到。
0.安装msys-mingw环境
先下载这个环境 http://liquidtelecom.dl.sourceforge.net/project/mingw/Installer/mingw-get-setup.exe
我这里下载1 2 5 7这几个。选择后就下载吧。我是下载在D盘目录下,下载完运行这个程序D:\MinGW\msys\1.0\msys.bat 双击,然后就可以愉快的玩耍了。在里面随便测试几个命令,看是否正确安全。
1.安装zlib
下载地址:https://github.com/madler/zlib 或者 http://www.zlib.net/ 自行下载
编译完成后把目录下的 libz.a zconf.h zlib.h 三个文件复制出来,用于libssh2中 ,在此之前要判断是否可以用。测试用的程序
1 #include <stdio.h> 2 #include "zlib.h" 3 4 int main() 5 { 6 //原始数据 7 const unsigned char strSrc[]="hello world!\n\ 8 aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd中文测试 中文测试\ 9 aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd中文测试 中文测试"; 10 11 unsigned char buf[1024]={0},strDst[1024]={0}; 12 unsigned long srcLen=sizeof(strSrc),bufLen=sizeof(buf),dstLen=sizeof(strDst); 13 14 printf("Src string:%s\nLength:%d\n",strSrc,srcLen); 15 //压缩 16 17 compress(buf,&bufLen,strSrc,srcLen); 18 printf("\nAfter Compressed Length:%d\n",bufLen); 19 printf("Compressed String:%s\n",buf); 20 //解压缩 21 22 uncompress(strDst,&dstLen,buf,bufLen); 23 printf("\nAfter UnCompressed Length:%d\n",dstLen); 24 printf("UnCompressed String:%s\n",strDst); 25 return 0; 26 }