首页| 论坛| 消息

标题:Mac上创建sqlite出问题了
作者:stlcours
日期:2016-05-27 16:22
内容:

以下这段代码是用来在数据库文件还不存在的时候,用来创建sqlite数据库的。
这段代码在Windows下工作的好好的,在Mac带Qt开发环境的机子也运行的好好的,可是做成dmg文件以后,拷贝到测试机上却无法使用,报错:
QSqlError("-1", "Error opening database", "out of memory")

意思是,无法打开数据库。
可是这里当然无法打开数据库,因为我要的就是这段代码来创建sqlite数据库。曾经也怀疑是自己代码写错了,可是转过头一想,Windows下执行的好好的(包括在测试机上),Mac开发机上也正常运行,所以dmg安装包方面的某个配置有问题。但是安装包的路径里明明包括了这个文件:
Contents/PlugIns/sqldrivers/libsqlite.dylib
(dmg打包其实就一句话:macdeployqt /Users/Jason/Desktop/build-untitled-Desktop_5_4_0_64bit-Release/untitled.app -dmg,具体参考:http://blog.csdn.net/wsj18808050/article/details/44223065 )


void mylog::CreateLog()
{
QString m_logfile = "~/mylog.db";
QString m_createsql = " create table mytable (id INTEGER PRIMARY KEY, catalog varchar(30)) ";
if (!QFile(m_logfile).exists()) {
{
QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE");
database.setDatabaseName(m_logfile);

if(!database.open())
{
qDebug()


#1 [渡世白玉 05-27 16:48]
目录权限
#2 [toby520 05-27 17:08]
https://segmentfault.com/q/1010000003819613 参考
#3 [stlcours 05-27 20:07]
https://forum.qt.io/topic/67030/deployment-problem-on-mac-osx-with-macdeployqt-qt5-4-2-and-5-3-2/31

回复 发表
主题 版块