2016-03-20 323 views
0

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

问题是,你想要达到什么目的?你只想访问sqlite数据库?如果是的话,Qt已经有插件来访问SQl​​ite(它带有标准的Qt安装)。 – Apin

回答

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(); 
} 

在上面的代码中,我asume数据库test.db有一个叫tb_test一个表。它有两个字段,name,它是varchar,和age,它是int。

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

仅供参考,Online Qt Documentation,或者您可以通过Qt助手中的类名进行搜索,Qt助手由Qt在您的计算机上安装。

相关问题