【问题标题】:Qt Cannot open file 'sqlite3.lib'Qt 无法打开文件'sqlite3.lib'
【发布时间】:2016-03-20 18:32:19
【问题描述】:

我从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 文件。

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

【问题讨论】:

  • 问题是,你到底想达到什么目标?您只想访问 sqlite 数据库吗?如果是,Qt 已经有了访问 SQlite 的插件(它带有标准 Qt 安装)。

标签: c++ qt sqlite


【解决方案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 安装在您的计算机上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2012-11-10
    相关资源
    最近更新 更多