QT5中使用QFtp类(添加ftp模块)

QT5中如何使用QFtp类(添加ftp模块)

 

但是,从 Qt5.x 之后,Qt Network 发生了很大的变化,助手中关于此部分描述如下:

The QFtp and QUrlInfo classes are no longer exported. Use QNetworkAccessManager instead. Programs that require raw FTP or HTTP streams can use the Qt FTP and Qt HTTP compatibility add-on modules that provide the QFtp and QHttp classes as they existed in Qt 4.

意思是说:不再导出 QFtp 和 QUrlInfo 类,改用 QNetworkAccessManager。

 

使用 QNetworkAccessManager 可以实现 Ftp 的上传/下载功能(参考:Qt之FTP上传/下载),但有些原本 QFtp 有的功能 QNetworkAccessManager 却没有提供,例如:list、cd、remove、mkdir、rmdir、rename 等。这种情况下,就不得不使用 QFtp,值得庆幸的是 QFtp 一直在维护,只需要下载源码自行编译即可使用。

1.下载QFtp源码

从 GitHub 下载 QFtp:

https://github.com/qt/qtftp

或者使用命令下载 :

git clone https://github.com/qtproject/qtftp

 

2. 编译

如图用QTCreator打开项目,编译。

4.编译动态库,静态库

修改qtftp\src\qftp\ftp.pro文件

将原来的两句CONFIG修改为:

       CONFIG += static

       CONFIG += shared

然后编译编译完成后会在构建目录\lib\目录下生给予成我们需要的动态库静态库文件。

http://img1.51cto.com/attachment/201308/164006371.png

5.部署编译好的库

 

5.1将动态库(.dll文件)拷贝至Qt5.9.8\5.9.8\mingw53_32\bin目录下

5.2将静态库(.a文件)及.prl文件 拷贝至Qt5.9.8\5.9.8\mingw53_32\lib目录下

5.3将构建目录下/include/ 目录下的 QtFtp文件夹拷贝至Qt5.9.8\5.9.8\mingw53_32\include目录下

5.4将\qtftp\src\qftp目录下的两个头文件qftp.h和qurlinfo.h

拷贝至Qt5.9.8\5.9.8\mingw53_32\include\QtFtp 目录下

5.4.1在该目录下创建一个文件QFtp注意没有扩展名

5.4.2用记事本打开QFtp文件,并且在其中写上#include”qftp.h”

5.5 将构建目录下文件 \mkspecs\modules-inst\qt_lib_ftp.pri 拷贝至Qt5.9.8\5.9.8\mingw53_32\mkspecs\modules目录

6.使用编译好的库,在项目的 .pro文件添加

QT    +=   ftp

    #LIBS+="D:/.../Qt5.9.8/5.9.8/mingw53_32/bin/Qt5Ftp.dll"

http://2662597.blog.51cto.com/2652597/1279806

猜你喜欢

转载自blog.csdn.net/u013411873/article/details/92390288
今日推荐