无法在Visual C ++中加载SQL驱动程序(但在QtCreator中加载)

时间:2009-10-28 16:54:54

标签: c++ mysql visual-studio qt qt-creator

我有一个需要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示例也是如此,所以我认为代码不是问题。

2 个答案:

答案 0 :(得分:0)

之前我遇到过这个错误,直到我意识到插件没有使用与我的应用程序相同的配置构建(debug vs release,doh!)。

答案 1 :(得分:0)

对于遇到这个问题的任何人,我必须这样说 - 使用包含QT预构建二进制文件的软件包之一比使用自己构建它更容易。并且Qt驱动程序(至少4.3版本)非常难以开始工作(在某些机器上它就像魅力一样,但在其他机器上它找不到驱动程序,使用相同的代码和二进制文件),所以你很多最好使用专用的MySql库。