如何使用Netbeans 7.3运行QT 4.8应用程序?

时间:2013-03-27 16:01:11

标签: c++ qt netbeans qt4 netbeans-7

我跟着Netbeans' guide创建了一个带QT的基本应用程序。 该项目已成功构建,但未能在没有解释的情况下运行。

我使用MinGW和QT4.8运行W8 x64(从netbeans的指南链接下载)。

这是C ++文件代码(大部分是自动创建的):

main.cpp:

#include <QtGui/QApplication>
#include "UI_main.h"

int main(int argc, char *argv[]) {
    // initialize resources, if needed
    // Q_INIT_RESOURCE(resfile);

    QApplication app(argc, argv);

    // create and show your widgets here
    UI_main main_w;
    main_w.show();

    return app.exec();
}

UI_main.h:

#ifndef _UI_MAIN_H
#define _UI_MAIN_H

#include "ui_UI_main.h"

class UI_main : public QMainWindow {
    Q_OBJECT
public:
    UI_main();
    virtual ~UI_main();
private:
    Ui::UI_main widget;
};

#endif  /* _UI_MAIN_H */

ui_UI_main.h:

#ifndef UI_UI_MAIN_H
#define UI_UI_MAIN_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QGroupBox>
#include <QtGui/QHeaderView>
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QStatusBar>
#include <QtGui/QWidget>

QT_BEGIN_NAMESPACE

class Ui_UI_main
{
public:
    QWidget *centralwidget;
    QGroupBox *groupBox;
    QMenuBar *menubar;
    QStatusBar *statusbar;

    void setupUi(QMainWindow *UI_main)
    {
        if (UI_main->objectName().isEmpty())
            UI_main->setObjectName(QString::fromUtf8("UI_main"));
        UI_main->resize(800, 600);
        centralwidget = new QWidget(UI_main);
        centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
        groupBox = new QGroupBox(centralwidget);
        groupBox->setObjectName(QString::fromUtf8("groupBox"));
        groupBox->setGeometry(QRect(300, 210, 120, 80));
        UI_main->setCentralWidget(centralwidget);
        menubar = new QMenuBar(UI_main);
        menubar->setObjectName(QString::fromUtf8("menubar"));
        menubar->setGeometry(QRect(0, 0, 800, 21));
        UI_main->setMenuBar(menubar);
        statusbar = new QStatusBar(UI_main);
        statusbar->setObjectName(QString::fromUtf8("statusbar"));
        UI_main->setStatusBar(statusbar);

        retranslateUi(UI_main);

        QMetaObject::connectSlotsByName(UI_main);
    } // setupUi

    void retranslateUi(QMainWindow *UI_main)
    {
        UI_main->setWindowTitle(QApplication::translate("UI_main", "UI_main", 0, QApplication::UnicodeUTF8));
        groupBox->setTitle(QApplication::translate("UI_main", "GroupBox", 0, QApplication::UnicodeUTF8));
    } // retranslateUi

};

namespace Ui {
    class UI_main: public Ui_UI_main {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_UI_MAIN_H

UI_main.cpp:

#include "UI_main.h"

UI_main::UI_main() {
    widget.setupUi(this);
}

UI_main::~UI_main() {
}

UI_main.ui仅包含使用QTDesigner创建的分组框。

错误消息:

  

RUN FAILED(退出值-1 073 741 819,总时间:2s)

我尝试使用Windows控制台和兼容模式W7和XP运行它,结果相同。

任何想法? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

代码没问题,在Qt Creator中运行没有任何错误。

enter image description here

exit value -1 073 741 819表示您使用了错误的库链接或不匹配的标题或构建版本。请检查项目链接器,它们的版本,拱形等。

答案 1 :(得分:0)

我终于通过卸载所有内容(Qt和MinGW)并从头开始重新启动指南(注意版本等)找到了问题的根源。唯一不同的(显然)是我从MinGW安装程序中分别安装了MSYS1.0。 现在一切正常,我可以继续我的项目。 感谢您Muhammad Minhazul Haque的帮助!