Qt5.9使用Qt4的QFTP全过程

1、简介

好久没碰Qt了,今天突然有一个好朋友来问了我一个QFTP的问题,正好这个问题以前没搞过,所以研究一下。因为QFTP是Qt4的库,Qt5已经不用了,改用了QNetworkAccessManager来代替。但是Qt5提供的QNetworkAccessManager仅支持FTP的上传和下载,所以只能用QFTP了。今天搞完,有些小收获,记录一下。

2、下载并编译Qt4的库

QFTP在Github的下载地址:https://github.com/qt/qtftp

先下载到本地,然后把它编译。注意编译前要改两个地方:

2.1 编译准备

2.1.1 修改“qtftp-master\src\qftp”下的“qftp.pro”文件

把“CONFIG += static CONFIG -= shared”改为“CONFIG += staticlib CONFIG += shared”,如下:

#CONFIG += static
#CONFIG -= shared
TEMPLATE = lib

2.1.2 修改“qtftp-master\src\qftp”下的“qftp.h”文件

//#include <QtFtp/qurlinfo.h>
#include <qurlinfo.h>

2.2 编译

编译好后,会在编译好的文件夹的“lib”目录找到如下文件:
在这里插入图片描述

3、应用编译好的库

应用编译好的库有两种方式,一种是直接引用头文件,并在应用到ftp项目的目录加入lib和dll,在pro用添加引用库的参数。另一种则是放在Qt的目录下,以后所有项目都可以直接用这个库。本文讲的是后者。

3.1 引用

3.1.1 拷贝静态库到 lib 下

接下来将 Qt5Ftpd.lib、Qt5Ftp.lib、Qt5Ftpd.prl、Qt5Ftp.prl 拷贝至 Qt\Qt5.9\5.9\msvc2015\lib。

在这里插入图片描述

3.1.2 拷贝动态库到 bin 下

将 Qt5Ftpd.dll、Qt5Ftp.dll 拷贝至 Qt\Qt5.9\5.9\msvc2015\bin
在这里插入图片描述

3.1.3 拷贝头文件到 QtNetwork 下

将src\qftp目录下的 qftp.h、qurlinfo.h 拷贝至 Qt\Qt5.9.0\5.9\msvc2015\include\QtNetwork,并新建一个名为 QFtp 的文件(注意:没有后缀名),然后用文本编辑器写入 #include “qftp.h”。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编译好的文件我已经上传到CSDN:
https://download.csdn.net/download/u014597198/11154213

3.2 引用

完成之后,就到了引用环节了,记得我们是在msvc2015下引用的库,编译器就得选择msvc2015的哦。然后我们在上述过程中的QtNetwork 下加的引用库,就得引用network框架哈。在项目的.pro文件中加入以下内容,就可以引用了:

QT  += network
CONFIG(debug, debug|release) {
    LIBS += -lQt5Ftpd
} else {
    LIBS += -lQt5Ftp
}

就可以在QT5中使用QFTP了,如果以上操作全部正确,这里就不会标红。没标红就证明你上述操作都对了哈
在这里插入图片描述

发布了264 篇原创文章 · 获赞 691 · 访问量 204万+

猜你喜欢

转载自blog.csdn.net/u014597198/article/details/89715914
qt4