无法编译简单的 Qt QFtp 程序

Posted

技术标签:

【中文标题】无法编译简单的 Qt QFtp 程序【英文标题】:Cannot compile simple Qt QFtp program 【发布时间】:2012-03-04 01:51:44 【问题描述】:

我在使用 QFtp 时遇到问题。它根本不适合我(程序无法编译)。我打破了我正在编写的主程序,为它做一个小测试应用程序(一个使用 Qt Creator 的 Qt GUI 应用程序),但仍然没有。所有的测试应用程序都是一个按钮,当按下并尝试连接到主机并登录时会生成一个新的 QFtp(不编译!!)。我收到以下错误:

debug/mainwindow.o: In function `ZN10MainWindow21on_pushButton_clickedEv':
C:\Users\Juan\Documents\QtProjects\ftpppp/mainwindow.cpp:19: undefined reference to `_imp___ZN4QFtpC1EP7QObject'
C:\Users\Juan\Documents\QtProjects\ftpppp/mainwindow.cpp:20: undefined reference to `_imp___ZN4QFtp13connectToHostERK7QStringt'
C:\Users\Juan\Documents\QtProjects\ftpppp/mainwindow.cpp:21: undefined reference to `_imp___ZN4QFtp5loginERK7QStringS2_'
collect2: ld returned 1 exit status
mingw32-make.exe[1]: *** [debug\ftpppp.exe] Error 1
mingw32-make.exe: *** [debug] Error 2

代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtNetwork/QFtp>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)

    ui->setupUi(this);


MainWindow::~MainWindow()

    delete ui;


void MainWindow::on_pushButton_clicked()

    QFtp *q = new QFtp();
    q->connectToHost("ftp.anydomain.com");
    q->login();

【问题讨论】:

【参考方案1】:

确保您的.pro 文件中有QT += network

【讨论】:

以上是关于无法编译简单的 Qt QFtp 程序的主要内容,如果未能解决你的问题,请参考以下文章

Qt5.12.x 编译QFtp项目

Qt5.12.x 编译QFtp项目

QT 在Ubuntu下无法编译,怎么解决

无法在 Qt 中执行 ftp ConnectToHost

Qt 交叉编译 Linux -> MacOS 无法链接到 Qt 库

Qt 编程无法编译,高手来!