Как загрузить драйверы в Qt?
Я использую Ubuntu, и у меня есть Qt в автономном режиме, который устанавливается из автономного установщика. При подключении к базе данных MySQL произошла ошибка
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QSQLITE2
QSqlError(-1, "Driver not loaded", "Driver not loaded")
Failed to connect.
The program has unexpectedly finished.
сейчас я попробовал этот код
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QStringList>
#include <QtDebug>
int main( int argc, char **argv )
{
QCoreApplication app( argc, argv );
qDebug() << QSqlDatabase::drivers();
}
и получил выход
("QSQLITE", "QSQLITE2")
тогда как подключить мой Qt к базе данных MySQL? Я успешно подключился к базе данных sqlite.
4 ответа
В Ubuntu есть некоторые конфигурации для автономной установки. Вы можете легко подключиться к mysql, установив qt из хранилища ubuntu. Важно то, что автономный установщик имеет размер 1 ГБ. Но пакеты, загруженные из хранилища Ubuntu, имеют размер менее 200 МБ.
Вам нужно прочитать эту статью. Возможно, вам лучше установить Qt, используя официальный пакет Ubuntu, и, вероятно, также доступен пакет драйверов MySQL. Мне удалось установить драйвер Qt Oracle (QOCI) в моей системе Fedora 15 с достаточным объемом работы (я уточню, если вы захотите), поскольку в Fedora не было пакета Qt Oracle, но в основном вы создаете общий ресурс. объект, который установлен в $QTDIR/plugins/sqldrivers
,
Если вы используете ОС Ubuntu Linux, вы можете установить библиотеку:
mic@ubt: ~$ apt-cache search libqt4-sql-mysql
libqt4-sql-mysql - Qt 4 MySQL database driver
mic@ubt: ~$ sudo apt-get install libqt4-sql-mysql
Попробуйте прочитать эту пошаговую статью: http://www.pikopong.com/blog/2009/07/22/how-to-enable-mysql-support-in-qt-sdk-for-linux/
С обновленной версией статьи вы можете ознакомиться по адресу: http://www.pikopong.com/blog/2011/07/11/how-to-enable-mysql-support-in-qt-sdk-for-windows-part-2/
Хотя вторая статья посвящена Windows, она должна дать вам представление о том, как включить драйвер.