c++ - 在 Qt (C++) 中创建 SQLite 数据库

标签 c++ database qt sqlite database-connection

我正在尝试在 Qt 中创建一个 SQLite 数据库。这是我的代码:

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

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

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("C:\\Users\\Tanner\\Desktop\\db.sqlite");

    return a.exec();
}

但是,它不起作用。这是我收到的输出:

C:\Users\Tanner\qt\sqltest-build-desktop..\sqltest\main.cpp:8: error: undefined reference to `imp__ZN12QSqlDatabase17defaultConnectionE'

C:\Users\Tanner\qt\sqltest-build-desktop..\sqltest\main.cpp:8: error: undefined reference to `imp__ZN12QSqlDatabase11addDatabaseERK7QStringS2_'

C:\Users\Tanner\qt\sqltest-build-desktop..\sqltest\main.cpp:8: error: undefined reference to `imp__ZN12QSqlDatabaseD1Ev'

C:\Users\Tanner\qt\sqltest-build-desktop..\sqltest\main.cpp:9: error: undefined reference to `imp__ZN12QSqlDatabase15setDatabaseNameERK7QString'

C:\Users\Tanner\qt\sqltest-build-desktop..\sqltest\main.cpp:11: error: undefined reference to `imp__ZN12QSqlDatabaseD1Ev'

C:\Users\Tanner\qt\sqltest-build-desktop..\sqltest\main.cpp:11: error: undefined reference to `imp__ZN12QSqlDatabaseD1Ev'

:-1: error: collect2: ld returned 1 exit status

我确定我做错了什么,因为这是我第一次尝试使用 C++/Qt 中的数据库。非常感谢您在创建数据库方面的任何帮助!我在文件路径中添加了一个额外的斜杠,因为编译器一直提示字符转义。额外的斜线与它有什么关系吗?如果是这样,我如何进入路径而不认为我正在尝试转义下一个字符。

最佳答案

在没有让它工作之后,我检查了 Qt 社区论坛,似乎我所缺少的只是

QT += sql

在 .pro 文件中

这是论坛帖子:http://developer.qt.nokia.com/forums/viewthread/8262/

关于c++ - 在 Qt (C++) 中创建 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6851060/

相关文章:

javascript - 听说过一个框架/应用程序只从数据库返回您需要的内容吗?

qt - 为 Beagleboard (ARM) 编译嵌入式 Qt 时出错

带有项目委托(delegate)的 QTListView - 选定项目的更高项目行

c++ - 使用 gcc 4.9 在 snow leopard 的 qt creator 中设置 c++11

c++ - 如果我没有收到来自客户端的消息,如何每 20 秒打印一次日期时间

c++ - 左值引用是否需要进行左值到右值的转换?

database - 皮威 : How to update specific fields?

c++ - std::function 的 operator== 的真正目的是什么?

c++ - 图像扭曲与 VTK?

android - 为网站和移动应用程序创建数据库