我有一个简单的应用程序,我正在为我的库存加载一个列表。我这样做是为了学习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"
答案 0 :(得分:1)
将以下文件添加到* .pro文件中:
QT += sql
并做一个qmake和build。