Qt用SQLite报错“out of memory Error opening database”?


在Macbook上想用Qt5写个小程序,用到了SQLite3,但是在open一个数据库的时候,报错了: “ out of memory Error opening database ”。构建完毕后,在creator里直接点运行是可以执行的,但是如果直接到project目录下运行app文件,则会报错这个错。
在新建的项目中加入如下的代码也是会有这样的错误的:


 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("database");

    if (!db.open()){
        qDebug() << "1";
        QMessageBox::critical(0, QObject::tr("Error"),
                                      db.lastError().text());
    }

谷歌看过了很多相近的问题,其中改为


 db.setDatabaseName(":memory:");

即放在内存中以后,是可以运行的。

是不是缺少sqlite的plugins呢?打包的时候显示


 RROR: no file at "/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib"
ERROR: no file at "/usr/local/lib/libpq.5.dylib"

网上查了一下,有说这个并没有关系,但是app文件依然无法打开。

qt-creator QT sqlite3 sqlite

幻♂想♂乡 9 years, 2 months ago

Your Answer