我有一个需要MySql驱动程序的QT应用程序。我有一个.pro文件用QtCreator编译应用程序和.vcproj用于Visual C ++ 2008 Express。代码是相同的,它编译顺利,但Visual C ++ Express创建的可执行文件给我以下输出,并拒绝加载任何驱动程序/插件:
QSqlDatabase:未加载QMYSQL驱动程序 QSqlDatabase:可用的驱动程序:
我使用QCoreApplication来识别插件的位置,似乎两个可执行文件都有相同的路径,所以他们都应该看到插件。一个做,另一个没做。
代码是标准的。
QSqlDatabase db;
db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("dbase");
db.setUserName("user");
db.setPassword("pwd");
bool ok = db.open();
QT附带的SqlBrowser示例也是如此,所以我认为代码不是问题。
答案 0 :(得分:0)
之前我遇到过这个错误,直到我意识到插件没有使用与我的应用程序相同的配置构建(debug vs release,doh!)。
答案 1 :(得分:0)
对于遇到这个问题的任何人,我必须这样说 - 使用包含QT预构建二进制文件的软件包之一比使用自己构建它更容易。并且Qt驱动程序(至少4.3版本)非常难以开始工作(在某些机器上它就像魅力一样,但在其他机器上它找不到驱动程序,使用相同的代码和二进制文件),所以你很多最好使用专用的MySql库。