欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

error: undefined reference to 'qapplication:qapplication(int& char* int)'该如何解决

更新时间: 2014-01-05 02:43:49 责任编辑: Author_N1

 

error: undefined reference to 'QApplication::QApplication(int&, char**, int)'
源码:
#include <QtWidgets/QApplication>
#include <QtWidgets/QMessageBox>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);

    QMessageBox::information(0, "ok", "ok");

    return app.exec();
}

出错信息:
../nhfjyx/main.cpp:7: error: undefined reference to 'QApplication::QApplication(int&, char**, int)'
../nhfjyx/main.cpp:9: error: undefined reference to 'QMessageBox::information(QWidget*, QString const&, QString const&, QFlags<QMessageBox::StandardButton>, QMessageBox::StandardButton)'
../nhfjyx/main.cpp:11: error: undefined reference to 'QApplication::exec()'
../nhfjyx/main.cpp:11: error: undefined reference to 'QApplication::~QApplication()'
../nhfjyx/main.cpp:11: error: undefined reference to 'QApplication::~QApplication()'
collect2: error: ld returned 1 exit status
make: *** [libnhfjyx.so] Error 1

问题:我在windows和mac上边都遇到了同样的问题,应该是什么库没有导进来,但是具体的我就不知道了,请大家帮我看看,我用的是Qt5.2测试版的,类似Qt5.1,下边这三行代码是报错的

    QApplication app(argc, argv);

    QMessageBox::information(0, "ok", "ok");

    return app.exec();
--参考方法--
#include <qmessagebox.h>
#include <qapplication.h>
--参考方法--
估计你的.pro文件没有加控件组件。
CONFIG += widgets还是 QT += gui 有点忘记了。你看看呢
--参考方法--
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

--参考方法--
greaterThan(QT_MAJOR_VERSION, 5): QT += widgets
else QT += gui
--参考方法--
引用:
greaterThan(QT_MAJOR_VERSION, 5): QT += widgets
else QT += gui

没有else,什么时候都要加gui
Qt Creator默认生成的是这样的

QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:43:49
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13629/
本文WWW.DOC100.NET DOC100.NET版权所有。