2

Qt 5.0.2 と msvc2010 コンパイラを使用しています。何とか関数を削除すると、正常に実行されます。私は専門のプログラマーではありません。何も知らないかのように答えてください。ありがとうございます。

エラー: http://puu.sh/3m6Qr.png

以下の私のコード:

。プロ

QT       += core gui
QT       += widgets
QT       += network

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = guangdong
TEMPLATE = app

SOURCES += main.cpp\
        login.cpp

HEADERS  += login.h

FORMS    += login.ui

ログイン.cpp

#include "login.h"
#include "ui_login.h"
#include <QtSql/QSql>
#include <QtSql/QSqlDatabase>
#include <QDebug>
#include <Query.h>
#include <QString>
#include <QtSql/QSqlQuery>
#include <QtNetwork/QNetworkInterface>

login::login(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::login)
{
    ui->setupUi(this);
    blah();
}

login::~login()
{
    delete ui;
}
void login::blah()
{
   // QSqlQuery query;
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("blah");
    db.setDatabaseName("blah");
    db.setUserName("blah");
    db.setPassword("blah");
    bool ok = db.open();

    if ( ok ) {
        ui->label->setText("databaseopen");
        db.close();
    }
    else
        ui->label->setText("Error opening");
}

main.cpp

#include "login.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    login w;
    w.show();

    return a.exec(&#41;;
}

編集: Qt += sql と #include を追加しましたが、このエラーが発生しました。エラー: http://puu.sh/3maq2.png

4

2 に答える 2

2

.proファイルを更新した後にqmake を実行し、さらにウィジェット モジュールを 2 回追加すると、問題が発生する可能性があります。

QT       += core gui
//QT       += widgets delete this line Qt4 doesn't have widgets and for Qt 5 the widgets are added at the last line
QT       += network

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

より複雑なものについては、 *=演算子を使用して、値が変数の値のリストに一度だけ追加されるようにすることができます。

于 2013-06-23T06:32:14.017 に答える
2

external symbolsエラーメッセージは、リンカがヘッダーで定義された を見つけられないことを示しています<QtSql/QSqlQuery>QtSqlライブラリ/モジュールに対してリンクする必要があります: http://qt-project.org/doc/qt-5.0/qtsql/qtsql-index.html

QT       += core gui
QT       += widgets
QT       += network
QT       += sql

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = guangdong
TEMPLATE = app

SOURCES += main.cpp\
        login.cpp

HEADERS  += login.h

FORMS    += login.ui
于 2013-06-23T05:11:54.773 に答える