由于QT5對QML的支持有很大的改進,所以打算將原來基于QT4的程序移植到QT5上,在移植用QFtp類寫的程序時傻眼了! Qt5 移除了 QFtp API,原因是其實現質量。QNetworkAccessManager 可以用來提供 ftp url 的上傳下載操作。 由于原來的程序已經跑的很穩定了不想做修改,然后就去想其它辦法,結果發現官方說這些 API 將由某一易于遷移的獨立形式提供。 鄙人就去git看了看,結果發現這個源碼一直在更新,已經更新到支持Qt5了,所以我就下載了一份源碼,然后編譯了一個支持QT5的QFtp。 廢話不多說了,直接說我怎么做的: 1.去git下載代碼 我下載的時候最后更新時間是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寫的程序就可以成功編譯了 |
|