Qt build时出现cont find lsqlite3
Qt build时出现cont find lsqlite3
#include "mainwindow.h"
#include <QApplication>
#include <QtCore/QCoreApplication>
#include <QtSql>
#include <QDebug>
int main(int argc, char *argv[])
{
//QApplication a(argc, argv);
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("/tmp/my.db");
if (!db.open())
{
qDebug()<<"open database failed ---"<<db.lastError().text()<<"/n";
return -1;
}
QSqlQuery query;
bool ok = query.exec("CREATE TABLE IF NOT EXISTS people (id INTEGER PRIMARY KEY AUTOINCREMENT,"
"name VARCHAR(20) NOT NULL,"
"age INTEGER NULL)");
if (ok)
{
qDebug()<<"ceate table partition success/n";
}
else
{
qDebug()<<"ceate table partition failed/n";
}
for (int i = 0; i< 3; ++i)
{
query.prepare("INSERT INTO people (id, name, age) VALUES (:id, :name, :age)");
query.bindValue(":name", QString("smith_%1").arg(i+1));
query.bindValue(":age", 20+i*5);
query.exec();
}
query.exec("SELECT id, name, age FROM people");
while (query.next())
{
qDebug()<<"people("<<query.value(0).toInt()<<") name:"<<query.value(1).toString()<<" age:"<<query.value(2).toInt();
}
MainWindow w;
w.show();
return a.exec();
.pro文件内容:
QT += core gui
QT += core sql
QT -= gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = sqlite
TARGET = sql
CONFIG += console
CONFIG -= app_bundle
LIBS += -lsqlite3
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
你有安装sql吗?
找不到lsqlite3啊 sqlite是Qt内置的,只要启用sql模块即可直接使用,发布程序的时候带上dll。 应该下载一个好一些的Qt版本,会有sqlite3的。此外第二个错误是因为第一个错误引起的。