摘要:花了一下午时间在Windows下编译好了libssh2,我想说,Windows开发真让人脑壳疼,光窗口开得就让人看得头晕
1、编译依赖库openssl和zlib
这里我参考的博客:https://blog.csdn.net/liang19890820/article/details/51658574
一步一步安装下来,没有太大问题,唯一需要注意的就是环境变量设置的不一样,我添加的环境变量如下:
C:\Program Files\NASM;
C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x86;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\Hostx86\x86
还有一个vcvars32.bat存放的位置不太一样:
cd C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build
vcvars32.bat
2、编译libssh2
2.1 使用nmake编译
这一步关键是修改libssh2\win32\config.mk文件,我主要修改了第1步中编译好的两个依赖库:
完成配置后,回到源码目录,我下载的是libssh2-1.8.0
执行如下命令:
C:\libssh2-1.8.0 nmake /f NMakefile
这种方式编译出来的dll,不利于开发,仅方便用于发布,我们可以使用cmake来进行编译
2.2 使用cmake编译
编译完后,所有需要的开发文件和发布需要的文件都会生成在dll目录中,如下操作步骤:
cd where/you/like/to/install git clone https://github.com/libssh2/libssh2.git cd libssh2 mkdir dll <--directory to install libssh2 mkdir build <-- directory to build cd build cmake -DCRYPTO_BACKEND=WinCNG -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=../dll --build .. cmake --build . --target install
3、库的使用
这里我使用最新的VS2017来进行加载编译,具体代码我都上传到github了,地址如下:
https://github.com/linuxbirds/libssh2
4、总结
遇到困难不要怕,不畏缩,坚持攻克下来,否则以后都会留下心理阴影,再拿起来就难了!
- 微信扫码赞助
- 支付宝赞助