QFtp

作者: XBruce | 来源:发表于2020-09-28 23:03 被阅读0次

    文章目录

    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了,如果以上操作全部正确,这里就不会标红。没标红就证明你上述操作都对了哈


    在这里插入图片描述

    相关文章

      网友评论

          本文标题:QFtp

          本文链接:https://www.haomeiwen.com/subject/asfsuktx.html