我有一个需要 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 示例也会发生同样的情况,所以我认为代码不是问题所在。