Не удается загрузить драйвер SQL в Visual C ++ (но загружается в QtCreator) - PullRequest
0 голосов
/ 28 октября 2009

У меня есть приложение QT, для которого требуется драйвер MySql. У меня есть и файл .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();

То же самое происходит с примером SqlBrowser, который поставляется с QT, поэтому я не думаю, что код - это проблема.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2009

Для всех, кто сталкивался с этой проблемой, я должен сказать следующее - гораздо проще использовать один из пакетов, содержащих предварительно собранные двоичные файлы QT для Visual C ++, чем пытаться создать его самостоятельно. И драйвер Qt (по крайней мере, версия 4.3) очень трудно заставить работать (на некоторых машинах он работает как чудо, но на других он не может найти драйвер, используя тот же код и двоичные файлы), так что вы очень лучше использовать специальную библиотеку MySql.

0 голосов
/ 29 октября 2009

Я сталкивался с этой ошибкой раньше и не мог заставить ее работать, пока не понял, что плагин не был собран с использованием той же конфигурации, что и мое приложение (отладка против выпуска, дох!).

...