Qt无法打开文件'sqlite3.lib'

时间:2016-03-20 18:32:20

标签: c++ qt sqlite

我从GitHub下载了SQLite项目的官方数据库。我试图编译这个项目,但收到一个错误:“无法打开文件'sqlite3.lib'”。

我正在使用Qt 5.6.0。

编译输出:

LINK : fatal error LNK1104: cannot open file 'sqlite3.lib'
jom: C:\Users\loddy\Desktop\sqDebug\src\Makefile.Debug [debug\sqlitebrowser.exe] Error 1104
jom: C:\Users\loddy\Desktop\sqDebug\src\Makefile [debug] Error 2
jom: C:\Users\loddy\Desktop\sqDebug\Makefile [sub-src-make_first] Error 2
20:11:18: The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project sqlitebrowser (kit: Desktop Qt 5.6.0 MSVC2015 64bit)
When executing step "Make"

此外,项目中还有sqlite3.c和sqlite3.h文件。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

Qt能够访问SQLite数据库。您可以编写如下代码:

#include <QtCore/QCoreApplication>
#include <QtSql>
#include <qDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("test.db");
    if (!db.open()) {
        qDebug() << db.lastError();
        qFatal("failed to connect database.");
    }
    qDebug() << "database connected";

    QString sql = QString("insert into tb_test values('John', 10)");
    qDebug() << "sql: " << sql;

    QSqlQuery query(sql, db); // query will be automatically executed if sql is not an empty string, see Qt document for details

    return a.exec();
}

在上面的代码中,我假设数据库test.db有一个名为tb_test的表。它有两个字段name,即varchar,age,即int。

请确保您的项目中已加载Sql模块。

仅供参考,Online Qt Documentation,或者您可以在Qt智能助理中按类别名称进行搜索,这是由Qt在您的计算机上安装的。