我正在尝试在 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/