2020-09-27

QT5 如何实现以前的FTP API

https://jingyan.baidu.com/article/ca2d939d04b7c4eb6c31cef0.html

测试可行,从https://github.com/qt/qtftp下载,根据步骤编译即可。注意:dll生成到了根目录的lib目录下。

qt5之后就不在使用QFtp QHttp,因为QNetworkaccessmanager已经替代了大部分功能,但却不完全替换所有功能,有2种方法供用户选择 1现在编译ftp源码 2.使用第三方libcurl库!

最近因为项目需要,想用第一种方法,但是上网查了好久,都是几年前的,方法过时不说,还一大堆错误,误人子弟,更让我无语的是都是同一篇文章。好不容易从一位良心的作者借鉴了下他的经验才搞定的。

先说下写这经验的时间是2016-6-28

工具/原料

  • win7 QT5.5.1

方法/步骤

  1. 首先,从QFTP网址上下载源码,这里发布不了连接

    之后如下图,选择第二个下载。不要选最新的第一个,一开始就是以为最新的就是最好的,结果编译的时候一大堆错误,改到烦死了。第二个的错误相对来说少一点。

    点击snapshot下载。

    QT5 如何实现以前的FTP API

  2. 如下图,将源码解压到没有中文的路径中,用qtcreate打开根目录下的pro,项目里面有三个可以直接看到的项目examples、src、tests。我们只编译第二个src。

    QT5 如何实现以前的FTP API

    QT5 如何实现以前的FTP API

  3. 然后只修改src\qftp\qftp.pro中的CONFIG += staticCONFIG -= shared改为CONFIG -= staticCONFIG += shared//共享动态库

    QT5 如何实现以前的FTP API

  4. 结果在\build-qtftp-Desktop_Qt_5_5_1_MinGW_32bit-Debug\lib中就有文件了

    QT5 如何实现以前的FTP API

  5. 目录下生成的*.dll动态库文件(Qt5Ftp.dll、Qt5Ftpd.dll)复制到D:\Qt\Qt5.5.1\5.5\mingw492_32\bin目录下。目录下生成的*.a和*.pri静态库文件复制到 D:\Qt\Qt5.5.1\5.5\mingw492_32\lib

    上面的D:\Qt\Qt5.5.1\5.5\mingw492_32,是我QT creator的安装路径,你们要根据实际情况来复制。

  6. 之后,还要复制源码中,qtqtftp-6142a49\src\qftp\下的qftp.h和qurlinfo.h复制到  D:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtNetwork目录下。在 D:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtNetwork目录中新建一个没有后缀名的QFtp文件然后用记事本写入#include ”qftp.h”

    QT5 如何实现以前的FTP API

  7. 7

    以上就是QFTP的编译过程。最后就是项目实现时,使用编译好的库

    需要连接哪个库就在pro文件中连接哪个库

    例如:

       LIBS+="D:/Qt/Qt5.5.1/5.5/mingw492_32/bin/Qt5Ftp.dll"

    然后你原来基于QFtp写的程序就可以成功编译了

    QT5 如何实现以前的FTP API

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值