QT - QFtp模块环境部署
由于 QT 官方自 Qt5.0 开始移除了 QFtp 模块,作为一个单独的模块,因此使用时需要下载该模块源码自行编译部署环境。
1. Qt5.12 + LiNUX GCC
1.1 下载源码
地址:https://github.com/qt/qtftp.git
源码目录结构大致如下:
1 2 3 4 5 6 7
| └─ qtftp ├─ examples │ └─ qftp ├─ modules ├─ src │ └─qftp └─ tests
|
1.2 编译源码
- 修改
src/qftp/qftp.pro
文件如下:
1 2 3 4 5 6 7 8
| ... TARGET = QtFtp
CONFIG += staticlib #生成静态库
CONFIG += shared QT = core network #生成动态库 ...
|
- 修改
src/qftp/Headers/qftp.h
文件如下:
1 2 3 4
| ...
#include <qurlinfo.h> ...
|
- 右键 src,点击“构建src”,成功后构建目录文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| ├── bin ├── include │ └── QtFtp │ ├── headers.pri │ ├── QFtp │ ├── qftp.h │ ├── QtFtp │ ├── QtFtpDepends │ ├── QtFtpVersion │ ├── qtftpversion.h │ ├── QUrlInfo │ └── qurlinfo.h ├── lib │ ├── cmake │ │ └── Qt5Ftp │ ├── libQt5Ftp.a │ ├── libQt5Ftp.la │ ├── libQt5Ftp.prl │ ├── libQt5Ftp.so -> libQt5Ftp.so.5.0.0 │ ├── libQt5Ftp.so.5 -> libQt5Ftp.so.5.0.0 │ ├── libQt5Ftp.so.5.0 -> libQt5Ftp.so.5.0.0 │ ├── libQt5Ftp.so.5.0.0 │ ├── libQt5Ftp.so.5.0.0.debug │ └── pkgconfig │ └── Qt5Ftp.pc ├── mkspecs │ ├── modules │ │ └── qt_lib_ftp.pri │ └── modules-inst │ ├── qt_lib_ftp.pri │ └── qt_lib_ftp_private.pri └── src
|
1.3 拷贝文件
- 将
构建目录/lib
下的 libQt5Ftp.a,l ibQt5Ftp.la, libQt5Ftp.prl, libQt5Ftp.so, libQt5Ftp.so.5, libQt5Ftp.so.5.0, libQt5Ftp.so.5.0.0
拷贝至 qt安装目录/gcc_64/lib
目录下;
1 2 3 4 5 6 7
| cp lib/libQt5Ftp.a ~/Qt5.12.9/5.12.9/gcc_64/lib cp lib/libQt5Ftp.la ~/Qt5.12.9/5.12.9/gcc_64/lib cp lib/libQt5Ftp.prl ~/Qt5.12.9/5.12.9/gcc_64/lib cp lib/libQt5Ftp.so ~/Qt5.12.9/5.12.9/gcc_64/lib cp lib/libQt5Ftp.so.5 ~/Qt5.12.9/5.12.9/gcc_64/lib cp lib/libQt5Ftp.so.5.0 ~/Qt5.12.9/5.12.9/gcc_64/lib cp lib/libQt5Ftp.so.5.0.0 ~/Qt5.12.9/5.12.9/gcc_64/lib
|
- 将
构建目录/mkspecs/modules-inst
下的 两个文件拷贝至 qt安装目录/gcc_64/mkspecs/modules/
目录下;
1 2
| cp mkspecs/modules-inst/qt_lib_ftp.pri ~/Qt5.12.9/5.12.9/gcc_64/mkspecs/modules/ cp mkspecs/modules-inst/qt_lib_ftp_private.pri ~/Qt5.12.9/5.12.9/gcc_64/mkspecs/modules/
|
- 将
构建目录/include
下的 QtFtp 文件夹拷贝至 qt安装目录/gcc_64/include
目录下
1
| cp -r include/QtFtp/ ~/Qt5.12.9/5.12.9/gcc_64/include/
|
- 将
源码/src
目录下的 qftp.h和qurlinfo.h 两个文件覆盖拷贝至 qt安装目录/gcc_64/include/QtFtp
目录下
1 2
| cp -f src/qftp/q ~/Qt5.12.9/5.12.9/gcc_64/include/QtFtp/ cp -f src/qftp/qurlinfo.h ~/Qt5.12.9/5.12.9/gcc_64/include/QtFtp/
|
1.4 项目使用
- 在qt项目的 .pro文件添加模块:
- 代码里添加对应的头文件:
2. QT5.15 + MSVC2019
该编译部署流程与上述基本一致,细节稍有不同。
2.1 下载源码和环境准备
- 下载源码:https://github.com/qt/qtftp.git
- perl环境安装:https://www.perl.org/
2.2 编译源码
- 修改
src/qftp/qftp.pro
文件如下:
1 2 3 4 5 6 7
| ... TARGET = QtFtp CONFIG += static
CONFIG += shared QT = core network #生成动态库 ...
|
- 修改
src/qftp/Headers/qftp.h
文件如下:
1 2 3 4
| ...
#include <qurlinfo.h> ...
|
- 右键 src,点击“构建src”,对于 examples 和 tests 工程报错可忽略;
2.3 拷贝文件
将 构建目录\lib
下的 Qt5Ftp.dll、Qt5Ftp.lib、Qt5Ftp.prl、Qt5Ftpd.dll、Qt5Ftpd.lib、Qt5Ftpd.prl
拷贝至 qt安装目录\5.15.2\msvc2019_64\lib
目录下;
将 构建目录\mkspecs\modules-inst
下的 qt_lib_ftp.pri 和 qt_lib_ftp_private.pri 两个文件拷贝至 qt安装目录\5.15.2\msvc2019_64\mkspecs\modules
目录下;
将 构建目录\include
下的 QtFtp 文件夹拷贝至 qt安装目录\5.15.2\msvc2019_64\include
目录下
将 源码\src
目录下的 qftp.h和qurlinfo.h 两个文件覆盖拷贝至 qt安装目录\5.15.2\msvc2019_64\include\QtFtp
目录下
2.4 项目使用
同上