0
点赞
收藏
分享

微信扫一扫

qtftp编译动态库、静态库


                                                                                 qtftp编译动态库、静态库


但是,按照楼主的方式无法生成lib库,只有dll库,解决方案在文章末尾

 

文章目录

  • ​​1、简介​​
  • ​​2、下载并编译Qt4的库​​
  • ​​2.1 编译准备​​
  • ​​2.1.1 修改“qtftp-master\src\qftp”下的“qftp.pro”文件​​
  • ​​2.1.2 修改“qtftp-master\src\qftp”下的“qftp.h”文件​​
  • ​​2.2 编译​​
  • ​​3、应用编译好的库​​
  • ​​3.1 引用​​
  • ​​3.1.1 拷贝静态库到 lib 下​​
  • ​​3.1.2 拷贝动态库到 bin 下​​
  • ​​3.1.3 拷贝头文件到 QtNetwork 下​​
  • ​​3.2 引用​​

 

1、简介

   

           但是,按照楼主的方式无法生成lib库,只有dll库

2、下载并编译Qt5的库

QFTP在Github的下载地址:​​https://github.com/qt/qtftp​​

先下载到本地,然后把它编译。注意编译前要改两个地方:

2.1 编译准备

2.1.1 修改“qtftp-master\src\qftp”下的“qftp.pro”文件

把“CONFIG += static CONFIG -= shared”改为“CONFIG += staticlib CONFIG += shared”,如下:

#CONFIG += static
#CONFIG -= shared
TEMPLATE = lib

  • 1
  • 2
  • 3

2.1.2 修改“qtftp-master\src\qftp”下的“qftp.h”文件

//#include <QtFtp/qurlinfo.h>
#include <qurlinfo.h>

  • 1
  • 2

2.2 编译

编译好后,会在编译好的文件夹的“lib”目录找到如下文件:

qtftp编译动态库、静态库_qt

3、应用编译好的库

应用编译好的库有两种方式,一种是直接引用头文件,并在应用到ftp项目的目录加入lib和dll,在pro用添加引用库的参数。另一种则是放在Qt的目录下,以后所有项目都可以直接用这个库。本文讲的是后者。

3.1 引用

3.1.1 拷贝静态库到 lib 下

接下来将 Qt5Ftpd.lib、Qt5Ftp.lib、Qt5Ftpd.prl、Qt5Ftp.prl 拷贝至 Qt\Qt5.9\5.9\msvc2015\lib。

qtftp编译动态库、静态库_静态库_02

3.1.2 拷贝动态库到 bin 下

将 Qt5Ftpd.dll、Qt5Ftp.dll 拷贝至 Qt\Qt5.9\5.9\msvc2015\bin

qtftp编译动态库、静态库_静态库_03

3.1.3 拷贝头文件到 QtNetwork 下

将src\qftp目录下的 qftp.h、qurlinfo.h 拷贝至 Qt\Qt5.9.0\5.9\msvc2015\include\QtNetwork,并新建一个名为 QFtp 的文件(注意:没有后缀名),然后用文本编辑器写入 #include “qftp.h”。

qtftp编译动态库、静态库_头文件_04


qtftp编译动态库、静态库_Qt_05


qtftp编译动态库、静态库_静态库_06


3.2 引用

完成之后,就到了引用环节了,记得我们是在msvc2015下引用的库,编译器就得选择msvc2015的哦。然后我们在上述过程中的QtNetwork 下加的引用库,就得引用network框架哈。在项目的.pro文件中加入以下内容,就可以引用了:

QT  += network
CONFIG(debug, debug|release) {
LIBS += -lQt5Ftpd
} else {
LIBS += -lQt5Ftp
}

就可以在QT5中使用QFTP了,如果以上操作全部正确,这里就不会标红。没标红就证明你上述操作都对了哈

qtftp编译动态库、静态库_静态库_07

3.3 解决无法生成lib库的问题

1. 首先修改头文件

qtftp编译动态库、静态库_qt_08

2. 修改项目文件pro,只让他生成静态库lib,并且把项目改成release生成方式

qtftp编译动态库、静态库_qt_09

3. lib生成路径,是你qtfpt工程所在根目录,会生成lib文件夹

qtftp编译动态库、静态库_静态库_10

 

举报

相关推荐

0 条评论