0、参考我的开源项目,帮助你加速开发
1、前言
QT做SSH开发,QSSH一定是一个绕不过去的方法。但是在库的编译上,一直没有一个合适的文章,我应该是第一个发关于Qssh库编译方法的文章.(你要转载我的文章,麻烦标明一下出处!)
我自己在开发基于QSSH的SSH时候也是遇到了很多的问题,踩了很多坑。所以把我自己的完整的开发流程给大家分享一下,来帮助大家更好的去利用QSSH开发。
环境:vs2017+qt5.14
如果你觉得我的文章写的不错,一键三联下。
2、库下载
库源文件下载。大家普遍都是到QSSH的github上去下载,去下载它的master分支。我这里要说的是,我不知道大家有没有编译过去,我的对这个分支源码去编译,是失败的。失败的原因是因为QSSH库编译时需要依赖其他的库,但是关于这个依赖,不知道如何设置。
那么这个分支就可以完全避免这些问题。能够最大的提高成功的可能性。
gothub链接
https://github.com/mardy/QSsh/tree/botan-1
Gitee链接
https://gitee.com/shikai1995/qssh-botan-1/tree/botan-1/
以gitee为例
2.1、选择botan-1分支
然后下载到本地
2.2、解压压缩包、打开qssh.pro文件
2.3、选择编译器。
2.4、选择你要编辑的库的版本。我以debug为例
2.5、选中debug后。点击左下角的锤子。开始编译。
2.6、编译成功后。会在2.3的设置的路径中,出现一个文件夹。打开这个文件夹
2.7、打开lib就看到了。
动态库静态库都有。
2.8、头文件路径
3、QSSH在release下崩溃的问题。
关于QSSH开发教程,大家都参考过这个教程
Qt QSsh 使用 windows Qt实现ssh客户端_我是唐的博客-优快云博客_qt使用ssh
https://blog.youkuaiyun.com/qq_41673920/article/details/103687644
如果你是参考的他的代码,并且用这个方法编辑的库,一定要注意一个问题,他是分几种情况
先说一下我的环境,vs2017+qt5.14
3.1、用这个库,但是用的是他的源码。是在debug下运行没有问题,但是你release下会在设置ip等信息会崩溃。
解决办法:替换我上面说的头文件,然后用这种方法去设置ip等信息。
4、QSSH会输出很多的调试信息。
这个路径中的cpp中,注释掉qCDebug
比如这个
//qCDebug(sshLog, "sftp subsystem initialized");
5.缺少头文件的问题
有人反馈说,缺少头文件,比如mode_pad.h.
那么去我的gitee中去下载,就在图中红框的部分.
下载" botan-2.14.0.zip",别下错了.
6.说下botan
另外如果你缺少botan.lib的话,可以在我第5点中,去下载这个压缩包,然后编译出来botan库.
其实这个就是botan的加密库,缺少的关于botan的所有东西都可以在这找到