一段测试代码而已如下:
#include <QtGui/QApplication>
#include <QCoreApplication>
#include <QtCore/QCoreApplication>
#include <QtSql/QSqlDatabase>
#include <QStringList>
#include <QDebug>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() << "\t" << driver;
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
qDebug() << "ODBC driver valid?" << db.isValid();
app.exec();
}
查看工程支持的数据库类型,但是结果会出现这样报错:
Cannot mix incompatible Qt library (version 0x40802) with this library (version 0x40805)
有没有可以解决的办法?
个人环境是Qt 4.8.5 + Qt Creator2.8.1
qt odbc library
------解决方案--------------------
和QtCreator应该没有关系。你的数据库插件是哪里来的?安装包里带的还是另下的?
如果你的Qt是4.8.5的话那个数据库插件应该是4.8.2(0x40802),就是版本不一致
用4.8.5的源码重新编译一遍数据库插件就行了