QT5对QinputDialog和Qmessagebox的未识别引用.错误
Qt5 Unidentified reference to QInputDialog and QMessageBox.. ERROR
我忙于大学作业,我是QT,C 的新手,我需要:在单独的标题和源文件中定义和实现地址类
我与QT4和QT5混淆了,因为规定的教科书提供了QT4中的所有示例,但是我们需要使用QT5进行编码。我一直遇到错误,最新错误是:
error: undefined reference to
Dialog7getTextEP7QWidgetRK7QStringS4_N9QLineEdit8EchoModeES4_
Pb6QFlagsIN2Qt10WindowTypeEES8_INS9_15InputMethodHintEE'
error: undefined reference to
MessageBox11informationEP7QWidgetRK7QStringS4_6QFlagsINS_
14StandardButtonEES6
collect2.exe:-1: error: error: ld returned 1 exit status
我很困惑和陷入困境,如果有人可以朝着正确的方向引导我,我将非常感谢它,这是我到目前为止的代码:
标题文件:
#ifndef ADDRESS_H_
#define ADDRESS_H_
#include <QString>
#include <QFile>
#include <QStringList>
#include <QtCore>
QTextStream cout(stdout);
QTextStream cerr(stderr);
class Address{
public:
Address();
void setLines(QString ad, QString sep);
QString getPostalCode() const;
QString toString(QString sep) const;
static bool isPostalCode(QString pc);
private:
static QStringList lines;
};
#endif // ADDRESS_H_
主文件:
#include "address.h"
#include <iostream>
#include <QFile>
#include <sstream>
#include <fstream>
#include <QStringList>
#include <QString>
#include <QTextStream>
#include <QCoreApplication>
#include <QtWidgets/QInputDialog>
#include <QtWidgets/QMessageBox>
#include <QtWidgets/QLineEdit>
Address::Address(){}
void Address::setLines(QString ad, QString sep){
QStringList lines;
lines = ad.split(sep, QString::SkipEmptyParts);
}
QString Address::getPostalCode() const{
QStringList lines;
return lines.last();
}
QString Address::toString(QString sep) const{
QStringList lines;
return lines.join(sep);
}
bool Address::isPostalCode(QString pc){
if (pc >= "0" && pc <= "9999")
return true;
else
return false;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
while(true)
{
QString userInput = QInputDialog::getText(0,"Address Input","Please
enter your address:");
QLineEdit::EchoMode ok = QLineEdit::Normal;
QString();
if(ok && !userInput.isEmpty())
{
Address ad;
QMessageBox::information(0, "User Address",ad.toString(userInput));
}
}
return 0;
}
我有相同的错误。基本上,您的编译器Mingw和Qmake存在问题。我最好的建议是卸载QTCreator及其参考的所有内容。并使用新版本重新安装它:https://www.qt.io/download这将安装您需要的所有内容和所有正确的目录。希望这会有所帮助。
相关文章:
- 将对象数组的引用传递给函数
- 什么时候在C++中返回常量引用是个好主意
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 何时在引用或唯一指针上使用移动语义
- 提升 ASIO 无法识别计时器对象
- 如何在c++中使用引用实现类似python的行为
- 从udp接收帧对于人脸识别来说太慢
- 编译C++时未定义的引用
- Ctypes wstring通过引用传递
- 模板类无法识别友元运算符
- c++r值引用应用于函数指针
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- Visual Studio 2010 单元测试:无法识别引用的项目类
- 对 glutInit 的未识别引用
- QT5对QinputDialog和Qmessagebox的未识别引用.错误
- 谷歌语音识别(cpp示例):对AssignDescriptors()的未定义引用
- 对C++中函数的未识别引用
- 对构造函数(c++)的未识别引用
- 编译时错误,参数被识别为引用
- 编译过程中未识别的引用错误