Qt5.13 编译QFtp类使用方法
由于QT5不再导出QFtp,提供的QNetworkAccessManager仅支持ftp的上传put和下载get。开发需求中会用到mkdir、cd、list等指令,所以重新编译QFtp源码,生成lib及dll文件,在项目中使用。
我的项目需求是使用QFtp上传保存的日志到服务器,因需要创建目录,获取列表等操作,因此学习了一下该方面内容。
我在编译QFtp源码过程中主要遇到的问题是,不能一次获取到lib文件和dll文件,只能分两次编译,分别获取lib和dll库。
如果你也遇到类似的问题,该文章可以参考
一、先下载qtftp源码
①去Qt官方网站下载qtftp源码
②到GitHub下载 https://github.com/qt/qtftp
二、编译qtftp源码
1.打开下载好的源码
找到对应qftp.pro文件打开;
2.修改qftp,解决报错问题
上图标识处改成->#include <qurlinfo.h>
然后构建项目,生成了QFtp相关lib库
先把这个文件夹修改为1-lib,表示存储lib文件。如果不改文件夹名称,再次构建时lib文件会被替换
- 修改CONFIG,获取dll文件
把上图标识处改成
CONFIG -= static
CONFIG += shared
然后直接构建项目,生成了QFtp相关dll库
为了便于后文的叙述,此处把文件夹名字改成2-dll
至此我们生成了QFtp的lib和dll库,可以将该库文件导入到工程中
三、拷贝文件
1.lib文件
打开文件夹1-lib的lib文件夹,复制以下四个文件
到Qt安装路径,存放lib文件lib路径下,本机地址如下:
2.dll文件
打开文件夹2-dll的bin文件夹,复制两个dll文件
到Qt安装路径,存放dll文件bin路径下,本机地址如下:
3.h文件
打开qtftp源码文件夹,复制两个.h文件
到Qt安装路径,存放网络相关头文件路径include,本机地址如下:
4.QFtp
新建一个命名为“QFtp”的文件,用文本编辑器写入#include “qftp.h”,如下图,放置的路径如上图
四、引用
1.Qt Creator
在.pro文件中加入以下内容
QT += network #网络相关
#添加QFtp的库文件
#QFtp日志上传--release/debug两个版本
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/qftp/ -lQt5Ftp
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/qftp/ -lQt5Ftpd
INCLUDEPATH += $$PWD/qftp
DEPENDPATH += $$PWD/qftp #对应自己的目录即可
五、总结
经过上述步骤后,Qt5.13可以使用QFtp类。
本文地址:https://blog.csdn.net/weixin_43845670/article/details/108550407