2016-03-20 227 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在您的計算機上安裝。

相關問題