我有一個適用於我的Qt應用程序的SQLite數據庫。我認爲將數據庫添加爲資源是合乎邏輯的。Qt中的嵌入式數據庫
我不能讓我的應用程序與嵌入式資源進行編譯。
connection.h
#ifndef CONNECTION_H
#define CONNECTION_H
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":/data/ShippingData.db3");
if (!db.open())
{
QMessageBox::critical(0, QObject::tr("Database Error"), db.lastError().text());
return false;
}
return true;
}
#endif // CONNECTION_H
assets.qrc
<RCC>
<qresource prefix="/data">
<file>ShippingData.db3</file>
</qresource>
</RCC>
我的SQLite數據庫現在的問題是這樣的
app.pro
file.h
file.cpp
data/ShippingData.db3
構建的問題(從Qt Creator中)
No rule to make target `../TimePlotter/Shipping.db3', needed by `debug/qrc_assets.cpp'. Stop.
我試着改變我的資源佈局,因爲它從編譯器沒有進入數據庫所在的數據/文件夾的消息中。我得到這個資源文件
<RCC>
<qresource>
<file>data/ShippingData.db3</file>
</qresource>
</RCC>
TimePlotter.pro
#-------------------------------------------------
#
# Project created by QtCreator 2010-11-21T03:18:17
#
#-------------------------------------------------
QT += core gui
TARGET = TimePlotter
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
time.cpp \
clients.cpp \
printTime.cpp
HEADERS += mainwindow.h \
time.h \
clients.h \
printTime.h \
connection.h
FORMS += mainwindow.ui \
time.ui \
clients.ui \
printTime.ui
RESOURCES += \
assets.qrc
能否請您發表您的.pro文件也?這將有助於理解。謝謝。 – 2010-11-23 15:16:25