QT5中如何使用QFtp类
http://2662597.blog.51cto.com/2652597/1279806
由于QT5对QML的支持有很大的改进,所以打算将原来基于QT4的程序移植到QT5上,在移植用QFtp类写的程序时傻眼了!
Qt5 移除了 QFtp API,原因是其实现质量。QNetworkAccessManager 可以用来提供 ftp url 的上传下载操作。
由于原来的程序已经跑的很稳定了不想做修改,然后就去想其它办法,结果发现官方说这些 API 将由某一易于迁移的独立形式提供。
鄙人就去git看了看,结果发现这个源码一直在更新,已经更新到支持Qt5了,所以我就下载了一份源码,然后编译了一个支持QT5的QFtp。
废话不多说了,直接说我怎么做的:
1.去git下载代码
http://qt.gitorious.org/qt/qtftp
我下载的时候最后更新时间是2013-06-11
然后点击红色区域的那个连接

在新窗口中点击

下载源码
2. 编译
如图用QTCreator打开项目

然后编译编译最后会有几个类似警告的东西,直接点击忽略
3.完成后会在构建目录\lib\目录下面生成两个编译好的静态库

4.编译动态库
进入\master\qt-qtftp\src\qftp目录
修改qftp.pro文件
将原来的两句CONFIG修改为:
CONFIG -= static
CONFIG += shared
然后编译编译完成后同样会在构建目录\lib\目录下生给予成我们需要的动态库文件

5.部署编译好的库
5.1将动态库(.dll文件)拷贝至C:\Qt\Qt5.1.0\5.1.0\mingw48_32\bin目录下
5.2将静态库(.a文件)拷贝至C:\Qt\Qt5.1.0\5.1.0\mingw48_32\lib目录下
5.3将master\qt-qtftp\src\qftp目录下的两个头文件qftp.h和qurlinfo.h
拷贝至C:\Qt\Qt5.1.0\5.1.0\mingw48_32\include\QtNetwork目录下
5.4在该目录下创建一个文件QFtp注意没有扩展名
5.5用记事本打开QFtp文件,并且在其中写上#include”qftp.h”
6.使用编译好的库
需要连接哪个库就在pro文件中连接哪个库
例如:
LIBS+="C:/Qt/Qt5.1.0/5.1.0/mingw48_32/bin/Qt5Ftp.dll"
7.然后你原来基于QFtp写的程序就可以成功编译了
QT5中如何使用QFtp类的更多相关文章
- QT5中如何使用QFtp类(这个类虽然没有被收录,但一直在更新)
由于QT5对QML的支持有很大的改进,所以打算将原来基于QT4的程序移植到QT5上,在移植用QFtp类写的程序时傻眼了! Qt5 移除了 QFtp API,原因是其实现质量.QNetworkAcces ...
- Qt5中的信号槽
Qt4中的信号槽 Qt4中的信号槽是通过SIGNAL,SLOT两个宏,将参数转换成字符串.Qt编译前,会从源码的头文件中提取由signal和slot声明的信号和槽的函数, 将其组成一张信号和槽对应的字 ...
- Qt5中运行后台网络读取线程与主UI线程互交
项目中有一个需求就是,因为需要请求服务端数据,因为网络的读取会阻塞,所以该过程不能放在Qt中的UI主线程当中,需要用一个后台线程来读取数据,数据准备完毕后 在通过Qt5中的信号槽机制来跨线程的传递数据 ...
- Qt5中的QtGui
我在学习Qt查看Qt Creater提供的例子时,遇到了一个小问题.就是明明在代码中包含了QtGui,然而编译的时候还是提示找不到QLabel的定义,以及其他一些类的定义,但是这是官方提供的文档的啊, ...
- Qt5 中对 C++11 一些新特性的封装
在 Qt5 中,提供更多 C++11 的特性支持,接下来我们将进行详细的说明. slots (槽) 的 Lambda 表达式 Lambda表达式 是 C++11 中的一个新语法,允许定义匿名函数.匿名 ...
- 【Qt开发】Qt5 中对 C++11 一些新特性的封装
C++11 是现在的 C++ 标准的名称,C++11 为 C++ 语言带来很多新特性. 而 Qt 4.8 是 Qt 首个在其 API 中开始使用一些新的 C++11 特性的版本,我之前写过一篇博文:C ...
- qt5中信号和槽的新语法
qt5中的连接 有下列几种方式可以连接到信号上 旧语法 qt5将继续支持旧的语法去连接,在QObject对象上定义信号和槽函数,及任何继承QObjec的对象(包含QWidget). connect(s ...
- 【转载】 C++多继承中重写不同基类中相同原型的虚函数
本篇随笔为转载,原文地址:C++多继承中重写不同基类中相同原型的虚函数. 在C++多继承体系当中,在派生类中可以重写不同基类中的虚函数.下面就是一个例子: class CBaseA { public: ...
- Myeclipse中打开接口实现类的快捷键
Myeclipse中打开接口实现类的快捷键-----Ctrl + T Myeclipse中 Open Type快捷键-----Ctrl + Shift + T
随机推荐
- MVC架构模式概述
MVC MVC概述: Model–view–controller (MVC) is a software architectural pattern for implementing user int ...
- 记录-Jquery uploadify文件上传实例
原本做的是from表单的文件上传,后来因需要用ajax异步,so接触到了Jquery uploadify上传 贴上代码,以供参考 需要引入的js文件 <link href="../re ...
- 对django模型中的objects的理解
object是模型属性,用于模型对象和数据库交互. object=Manager()是管理器类型的对象,是model和数据库进行查询的接口 可以自定义管理对象 books=models.Manager ...
- java.lang.Error: Unresolved compilation problems: Syntax error on token "return", delete this token Type mismatch: cannot convert from Init to String
java.lang.Error: Unresolved compilation problems: Syntax error on token "return", delete ...
- 机器重启 查看crontab执行历史记录crontab没有执行
Sep 17 19:01:01 d run-parts(/etc/cron.hourly)[8452]: finished 0anacronSep 17 19:10:01 d CROND[9059]: ...
- 防sql注入之参数绑定 SQL Injection Attacks and Defense
http://php.net/manual/zh/pdo.prepared-statements.php 预处理语句与存储过程 很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作 ...
- 如何枚举 Windows 顶级桌面窗口?
bool is_top_level_window(HWND hwnd) { if (!IsWindow(hwnd)) return false; DWORD dw_style = GetWindowL ...
- 全面Python小抄(转)
add by zhj: 有些地方不正确,有时间再改吧 原文:Python Cheat Sheet Cheat sheet of Python. Some basic concepts for Pyth ...
- 于win2008R2虽然激活,但是一个小时之后就会自动强制关机的问题
写一个批处理文件: taskkill /f /im wlms.exeping -n 4 127.0.0.1shutdown -a 用记事本写下以上的命令,另存为.bat 批处理文件.双击运行,即可. ...
- php 数组 高效随机抽取指定条记录的算法
php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序. 该算法主要是利用php的array_rand()函数,下面看一下ar ...