qt由于授权许可的限制,Qt的开源版本没有提供所有数据库的驱动程序。免费下载的中只含有QSQLITE也就是SQLite的驱动程序,要想与mysql或oracle等连接需要自己编译其驱动。
由于种种问题,经历各种重装,各种失败,本人用了两天才成功用qt连接上了mysql数据库。(看网上其他教程都是分分钟搞定 -_-!!) 在这里也写一下自己的经历。
下边开始正文:
一.下载mysql http://dev.mysql.com/downloads/ 目前最新版本5.5。
二.安装mysql 安装时不能选择Typical型,这样会缺少库文件(include和lib文件夹)。啥都不管直接选择FUll型。
三.将mysql安装目录下的include和lib两个文件夹拷贝到qt\4.7.4\src\plugins\sqldrivers\mysql下。可以自己新建一个目录如mysqllib。
四.修改mysql.pro文件,在第二行添加如下内容
INCLUDEPATH +=
"./mysqllib/include"
LIBS+=
"./mysqllib/lib/libmysql.lib"
五.将QT的bin目录和mingw的目录都添加到环境变量的path中。
六.运行qt 4.7.4 Command Prompt 输入以下命令(路径自己注意修改)
cd qt\4.7.4\src\plugins\sqldrivers\mysql
qmake
mingw32-make release
mingw32-make debug
执行qmake后没有返回结果,只是在mysql目录下生成了debug和release的makefile文件Makefile.Debug和Makefile.Release。
全部执行完后,将release下的libqsqlmysql4.a,qsqlmysql4.dll和debug下的libqsqlmysqld4.a,libqsqlmysqld4.dll 拷贝至
QtSDK\Desktop\Qt\4.7.4\mingw\plugins\sqldrivers
目录下
七.将mysql的库文件libmysql.dll拷贝到QtSDK\Desktop\Qt\4.7.4\mingw\bin 目录下
接下来运行一个例子看驱动是否装好:
新建一个qt gui 控制台项目SQLtest
在SQLtest.pro中加入QT +=sql
接着修改main.cpp如下
#include <QtCore/QCoreApplication>
#include <QtSql>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() << "\t "<< driver;
qDebug() << "End";
return a.exec();
}
执行程序输出为:
Available drivers:
"QSQLITE"
"QMYSQL3"
"QMYSQL"
End
其中有"QMYSQL"则表示编译mysql的驱动成功了!! (主要方法参考 “Mysql驱动编译(精简完美)-林胜勇” 附件中)
分享到:
相关推荐
记得在操作完成后关闭数据库连接。 在Windows和Linux之间,主要的差异在于驱动库的安装和链接方式。总的来说,QT5和QT6都提供了方便的API,使开发者能够在不同平台上无缝地使用MySQL数据库。正确配置驱动库和遵循Qt...
在Qt初级学习中,数据库连接和界面绘制是两个重要的知识点,尤其对于开发C++应用程序时。Qt是一个跨平台的应用程序框架,它提供了丰富的库和工具,使得开发者可以方便地创建功能丰富的图形用户界面(GUI)并处理数据...
在开发基于Qt 5.12.1的Android应用程序时,如果你希望集成MySQL数据库功能,你需要进行一系列的配置和步骤,因为默认情况下,Qt库并不包含对Android平台的MySQL支持。以下是一个详细的步骤指南,涵盖了从编译MySQL...
Qt库提供了大量的类,这些类用于构建图形用户界面(GUI),网络通信,数据库连接,XML处理,多媒体支持等。其中,`QWidget`是所有GUI对象的基础,它是窗口和控件的基类。`QApplication`则是应用程序的主要入口点,...
2. **数据库支持**: Qt的QSql模块提供了对多种数据库系统的支持,如MySQL、SQLite等,方便进行数据操作。 3. **网络编程**: Qt的网络模块(QNetworkAccessManager)使开发网络应用变得简单,可以实现HTTP/HTTPS请求...
Qt的`QSql`模块提供了与多种数据库(如MySQL、SQLite等)的接口,可以方便地进行数据库操作。 11. **图形视图框架(Graphics View Framework)**: 对于复杂的图形界面,Qt的图形视图框架提供了一种高效的方法来...
对于数据库操作,QT支持多种数据库引擎,如SQLite、MySQL、PostgreSQL等。 总之,"Linux QT图形用户界面编程"这个主题涵盖了从基础的GUI设计到复杂的系统集成,包括跨平台开发、事件驱动编程、网络通信和数据库访问...
同时,QT支持多种数据库连接,如SQL Server、MySQL等,还有对XML、JSON的支持,使得数据交换和存储变得方便。 为了充分利用QT-5.15.0,开发者需要掌握C++语言基础,以及QT的特定编程模式和API。通过阅读官方文档、...
通过Qt SQL模块,开发者可以方便地连接和操作多种类型的数据库,如MySQL、SQLite等。 9. **国际化与本地化**: Qt支持应用程序的国际化和本地化,允许根据用户的语言环境显示相应的内容。 10. **部署与打包**: ...
此外,Qt支持多种数据库系统,如SQLite、MySQL、PostgreSQL等,通过`QSql`模块可以方便地进行数据操作。网络通信方面,Qt提供了`QTcpSocket`、`QUdpSocket`等类,用于实现TCP/IP和UDP通信。 最后,Qt还有丰富的第三...
9. **数据库支持**:Qt的SQL模块允许连接到各种数据库,如SQLite、MySQL、PostgreSQL等,进行数据操作。 10. **文件I/O**:Qt提供了丰富的文件和流操作类,如QFile、QTextStream等,便于读写文件。 11. **调试工具...
5. **Qt Database**:允许连接多种数据库,如MySQL、SQLite等,提供了数据库操作的便捷API。 6. **Qt Multimedia** 和 **Qt Quick**:用于音频、视频播放和2D/3D图形处理,为多媒体应用提供了强大的支持。 7. **Qt...