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寫的程序就可以成功編譯了