由于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写的程序就可以成功编译了
http://2662597.blog.51cto.com/2652597/1279806