0

我有一个需要 MySql 驱动程序的 QT 应用程序。我有一个用于使用 QtCreator 编译应用程序的 .pro 文件和一个用于 Visual C++ 2008 Express 的 .vcproj。代码是相同的,它编译顺利,但由 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 示例也会发生同样的情况,所以我认为代码不是问题所在。

4

2 回答 2

0

我之前遇到过这个错误并且无法让它工作,直到我意识到插件不是使用与我的应用程序相同的配置构建的(调试与发布,doh!)。

于 2009-10-29T14:47:44.083 回答
0

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

于 2009-11-05T15:30:00.150 回答