救关于arm qt链接mysql问题,armqt链接mysql
arm mysql qt 再做一个项目 在arm-Linux 环境下操作mysql数据库我从网上下载了mysql-5.1.51.tar.gz 交叉编译了mysql 得到了libqsqlmysql.so 和其他的一些库放在了arm板子的 /lib//lib/plugins/sqldrivers下 如下图:
然后我写了个测试程序
bool Widget::connectMysql()
{
// db = QSqlDatabase::addDatabase("QSQLITE");
QCoreApplication::addLibraryPath("/lib/plugins/sqldrivers/");
qDebug()<<"";
qDebug()<<QCoreApplication::libraryPaths ();
qDebug()<<"**1**"<<QSqlDatabase::drivers();
db = QSqlDatabase::addDatabase("QMYSQL");
db.setDatabaseName("../data/crh.s3db");
if(!QFile::exists("../data/crh.s3db"))
{
qDebug()<<"not exist";
return false;
}
if(!db.open())
{
return false;
}
return true;
}
{
// db = QSqlDatabase::addDatabase("QSQLITE");
QCoreApplication::addLibraryPath("/lib/plugins/sqldrivers/");
qDebug()<<"";
qDebug()<<QCoreApplication::libraryPaths ();
qDebug()<<"**1**"<<QSqlDatabase::drivers();
db = QSqlDatabase::addDatabase("QMYSQL");
db.setDatabaseName("../data/crh.s3db");
if(!QFile::exists("../data/crh.s3db"))
{
qDebug()<<"not exist";
return false;
}
if(!db.open())
{
return false;
}
return true;
}
编译完申明环境变量“export QT_PLUGIN_PATH=/lib/plugins/”后运行 运行结果很让人郁闷
("/lib/plugins/sqldrivers", "/opt/bin", "/lib/plugins")
**1** ("QSQLITE")
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE
QSqlQuery::exec: database not open
**1** ("QSQLITE")
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE
QSqlQuery::exec: database not open
请问诸位这是为什么呢 ,我编译arm版本的QT时并没有制定数据库类型,那谁能帮我解答一下应该怎么办呢
谢谢了
解决方案
我没有这么用过,原来使用mysql,都是要连接数据库的,你这里是直接打开文件。
博文决赛,投我一票,谢谢。 configure时需要配置数据库选项
./configure --help看下
移植 Qt 时,交叉编译 Qt 时的配置,需要指定 mysql 。
用户评论