背景
编译Qt4的QFtp在Qt5使用
大家都知道Qt中Ftp协议通信在Qt4、Qt5的使用是不一样的。Qt4使用QFtp等类使用;而Qt5则是使用QNetworkAccessManager等诸多类使用。
QNetworkAccessManager中包含了网络与本地的http、ftp、proxy server等诸多协议不说,况且它的ftp没有提供诸多直观的办法。于是在此背景下,我们只能重新编译Qt4下ftp以供Qt5项目等使用。
编译准备
- Qt4ftp源码包:qtftp-master.zip
- Qt5任意vs版本Creator
- Vs2010(测试用)
编译
- 1、用Vs版QtCreator5打开源码(qtftp-master.zip内):ftp.pro
2、编译
如下图:分别在如下图12所示进行对src构建,则会在编译文件lib下生成我们需要的库图3:
3、拷出文件至Qt(x)目录:
(1)、将Qt5Ftp.dll、Qt5Ftpd.dll拷贝至Qtx/…/msvc2010/bin下
(2)、将Qt5Ftp.lib、Qt5Ftpd.lib、Qt5Ftp.prl、Qt5Ftpd.prl拷贝至Qtx/…/msvc2010/lib下
(3)、将编译源文件qtftp-master/src/qftp/所有的cpp、h文件拷贝至Qtx/…/msvc2010/include/QtNetwork/下.
然后在目录下新建一个txt文件,输入#include “qftp.h”,将该文件改为QFtp并去掉后缀
4、新建Vs-Qt工程,测试
进入工程:属性 – 链接器– 附加依赖项,将对应DEBUG或Release版本的lib加入.
亲测可用。
关注
微信公众号搜索"Qt_io_"或"Qt开发者中心"了解更多关于Qt、C++开发知识.。
笔者 - jxd