QT4中原有的FTP模块在QT5中被废弃(据说是因为不好用)。对于必需在QT5中使用FTP的场景,提供以下方法:

  1. Github上下载qtftp- master.zip或通过git clone https://codereview.qt-project.org/qt/qtftp方式下载(https://code.qt.io提供),两者内容一致(都是2012年的)。
  2. QT5的 QT Creator打开 qtftp- master\src\qftp\qftp.pro。
  3. 更改qftp.pro文件实现动态库的生成(原有是生成静态库,加粗红色为更改与添加内)。

load(qt_build_config)

TARGET = QtFtp

CONFIG -= static

CONFIG += shared

QT = core network

DEFINES += FTP_LIB

MODULE_PRI = ../../modules/qt_ftp.pri

MODULE = ftp

load(qt_module)

# Input

HEADERS += qftp.h qurlinfo.h

SOURCES += qftp.cpp qurlinfo.cpp

4.原有qftp.h的QFtp类不提供导出,需要添加(也有文献没有提到添加)(qurlinfo.h包含层级需要调整)。

#include “qurlinfo.h”

QT_BEGIN_NAMESPACE

class QFtpPrivate;

#ifdef FTP_LIB

#define FTP_EXPORT Q_DECL_EXPORT

#else

#define FTP_EXPORT Q_DECL_IMPORT

#endif

class FTP_EXPORT QFtp: public QObject

{

5.右键工程==>执行qmake==>重新构建,qtftp-master\lib目录下生成Qt5Ftp.dll、Qt5Ftpd.dll、Qt5Ftp.lib、Qt5Ftpd.lib 4个文件。

6.注意:QtFTP尽管被QT5废弃,但是仍然属于QT源码,引用时,不能通过一般第三方动态库那样拷贝头文件和1ib、dll文件到工程目录,否则会MOC报错。而是需要加入QT环境中:

(a)拷贝Qt5Ftp.lib、Qt5Ftpd.lib 2个文件到C:\Qt\Qt5.9.8\5.9.8\msvc2015\1ib目录下;

(b)拷贝Qt5Ftp.dll、Qt5Ftpd.dll 2个文件到C:\Qt\Qt5.9.8\5.9.8\msvc2015\bin目录下;

(c)在C:\Qt\Qt5.9.8\5.9.8\msvc2015\include\QtNetwork目录下新建文件QFtp,打开写入内容:

#include “qftp.h”

以UTF-8无BOM格式编码保存,并拷贝qftp.h、qurlinfo.h到该目录下。

7.需要用到动态库的工程中配置属性==>链接器==>输入==>附加依赖,添加对应lib名,代码中包含”qftp.h”头文件即可。

QT5 FTP库编译相关推荐

  1. qurlinfo在qt5中_QT5编译使用QFtp的方法步骤

    背景 使用 QNetworkAccessManager 可以实现 Ftp 的上传/下载功能,但它没有提供例如list.cd.remove.mkdir.rmdir.rename 等功能.这种情况下,我们 ...

  2. pthread-win32库编译及使用方法注意事项

    "该文引用自 CruiseYoung的:pthread-win32库编译及使用方法注意事项 http://blog.csdn.net/fksec/article/details/415179 ...

  3. QT5+zint库实现条形码条形码(一)

    ** QT5+zint库实现条形码条形码(一) ** 关于二维码,QT是没有自己的库来实现的,需要使用第三方的库来实现,我选的zint库. zint库的获取可以去官网下载,不过官网下载的库需要自己来编 ...

  4. QT,SSH开发——QSSH库编译成功率最高的方法

    1.前言 QT做SSH开发,QSSH一定是一个绕不过去的方法.但是在库的编译上,却难倒了很多人.无法正确的把库文件编译出来. 我自己在开发基于QSSH的SSH时候也是遇到了很多的问题,踩了很多坑.所以 ...

  5. linux opencv编译静态库,使用openCV的静态库编译

    转载请注明出处: By 少侠阿朱 摘要: 本文主要讲述如何使用opencv静态库进行编译,生成脱离opencv环境可执行.exe文件. 实现的效果: 此方法生成的exe文件在其他没有配置openCV环 ...

  6. WIN下免费pdf转图片PNG/JPG/TIFF软件,poppler和pdftocairo开源库编译,中文文件名出错修正

    wxleasyland@139.com 2021.12 想要一个打印到图片的虚拟打印机软件,结果都是收费的.自已编是不可能的,工作量太大. 现在PDF虚拟打印机很多,可以打成PDF,再转成图片. 想要 ...

  7. 【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )

    文章目录 一. libwebp 源码下载 二. libwebp 源码编译脚本修改 三. libwebp 函数库编译 四.参考资料 一. libwebp 源码下载 Google 提供了一系列的 WebP ...

  8. 将STM32的标准库编译成lib

    转载自:http://www.cnblogs.com/zyqgold/p/3189719.html 以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这 ...

  9. linux 安装库 编译提示-lcrypto 无法链接,缺少 crypto 库

    linux 安装库 缺少 crypto 库 编译提示-lcrypto 无法链接,缺少 crypto 库 方法一 ------------------------------------- crypto ...

最新文章

  1. 012_Comparable和Comparator实例
  2. 基于单片机的c语言倒计时程序,30秒倒计时c语言51单片机实现.doc
  3. 《Spring Cloud Netflix官方文档》1.服务发现:Eureka客户端
  4. [图论]强联通分量+缩点 Summer Holiday
  5. 【转】C#命名空间大全详细教程
  6. inno setup 中文乱码问题_解决Inno Setup制作中文安装包在非中文系统上显示乱码的问题...
  7. 2013年7月新日本語能力試験N3文字部分
  8. linux下mysql用户_linux下mysql用户管理方法
  9. 我的家庭私有云计划-6
  10. 【浙江大学PAT真题练习乙级】1009 说反话 (20分)真题解析
  11. Ubuntu下用glade和GTK+开发C语言界面程序(三)——学习make的使用方法
  12. Spark性能优化指南——基础篇【1】
  13. Vegas18 pro视频编辑软件下载官方激活码-序列号-密钥版-注册
  14. 圆孔夫琅禾费衍射 matlab,信息光学基于matlab圆孔圆环夫琅禾费衍射论文副本
  15. SQL2005安装出错
  16. Ardunio开发实例-MMA8653FC 10位加速度计
  17. 基于android的影音设计,基于Android的车载影音导航系统软件设计与实现
  18. h5文件格式数据集制作
  19. 社保公积金异地转移(上海->宁波)持续更新中
  20. 汇纳科技张宏俊:加强布局AI大数据,为实体商业服务

热门文章

  1. 给Swagger换上新的皮肤
  2. matlab外罚函数实验报告,优化之外罚函数法(示例代码)
  3. frida工具Jnitrace | Objection | r0tracer
  4. MTBF指标是什么?
  5. 基于Python鲜花水果商城系统设计与实现 开题报告
  6. Ruff:物联网时代的Android触发产业革命
  7. 关于打印机柯尼卡美能达出现c2557错误解决方法
  8. c语言中百分号md是什么意思,Python中%是什么意思?python中百分号如何使用?
  9. 记:一次单板的意外串口异常解决(下)——PC端
  10. 大数据测评/大数据技术与应用 - 电子书下载(高清版PDF格式+EPUB格式)