1、前言
QT做SSH开发,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客户端_我是唐的博客-CSDN博客_qt使用ssh
https://blog.csdn.net/qq_41673920/article/details/103687644
如果你是参考的他的代码,并且用这个方法编辑的库,一定要注意一个问题,他是分几种情况
先说一下我的环境,vs2017+qt5.14
3.1、用这个库,但是用的是他的源码。是在debug下运行没有问题,但是你release下会在设置ip等信息会崩溃。
解决办法:替换我上面说的头文件,然后用这种方法去设置ip等信息。
4、QSSH会输出很多的调试信息。
这个路径中的cpp中,注释掉qCDebug
比如这个
//qCDebug(sshLog, "sftp subsystem initialized");