无法打开sqlite数据库

时间:2011-02-02 05:29:17

标签: c++ qt sqlite

我有一个简单的应用程序,我正在为我的库存加载一个列表。我这样做是为了学习Qt,因为它看起来非常整洁。

我有几个窗口和一个数据库,所有这些窗口都从中提取数据。在遵循内置示例时,我遇到了8个编译错误(尽管它们都用于内存数据库)

错误是

  undefined reference to `_imp__ZN12QSqlDatabase17defaultConnectionE'
  undefined reference to `_imp__ZN12QSqlDatabase11addDatabaseERK7QStringS2_'
  undefined reference to `_imp__ZN12QSqlDatabaseD1Ev'
  undefined reference to `_imp__ZN12QSqlDatabase15setDatbaseNameERK7QString'
  undefined reference to `_imp__ZN12QSqlDatabase4openEv'
  undefined reference to `_imp__ZN12QSqlDatabaseD1Ev'
  undefined reference to `_imp__ZN12QSqlDatabaseD1Ev'

  collect2: Id returned 1 exit status

这是我的连接标题

connection.h

#ifndef CONNECTION_H
#define CONNECTION_H

#include <QtSql/QSqlDatabase>

static bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("C:\\Inventory.db");
    if (db.open()) {
        return true;
    }
    return false;
}

#endif // CONNECTION_H

我对connection.h做的唯一一件事是将它导入到mainwindow.cpp

我没有找到sqlite用法的任何真实世界的例子(不是我的意思,教程)(我没有看到内存sqlite数据库对很多人有用[虽然我是高度新手])

感谢您提供任何帮助SO

将这些导入mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QtGui>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlTableModel>

#include "connection.h"

1 个答案:

答案 0 :(得分:1)

将以下文件添加到* .pro文件中:

QT += sql

并做一个qmake和build。