QT中MySQL驱动的编译

来源:互联网 发布:java.hhit.edu.cn 编辑:程序博客网 时间:2024/05/16 14:54

本文基于Windows 及其Visual Studio来使用,与具体的Windows及其Visual Studio的版本不相关;但是细微的区别可以忽略,相信会使用Visual Studio任意一个版本的朋友都会快速找到适合自己的设置方法。

一、查询编译MySQL驱动的帮助

本文不仅仅介绍如何编译MySQL的驱动,也介绍如何找到编译驱动的方法。如果着急急着使用VS进行编译MySQL链接驱动的朋友,可以略过本节内容。

这一段内容介绍如何得知MySQL的驱动编译方法。安装好QT之后,打开QT助手,在搜索一栏中输入MySQL,就会搜索到如何编译MySQL的驱动;当然,在QT的官方网站中也可以查询到同样的内容,我查询到的地址为:http://qt-project.org/doc/qt-5/sql-driver.html#qmysql,在该页面中我们可以看到以下内容:

Howto Build the QMYSQL Plugin on Windows

Youneed to get the MySQL installation files. Run SETUP.EXE and choose"Custom Install". Install the "Libs & Include Files"Module. Build the plugin as follows (here it is assumed that MySQL is installedin C:\MySQL):

cd%QTDIR%\src\plugins\sqldrivers\mysql

qmake"INCLUDEPATH+=C:/MySQL/include" "LIBS+=C:/MYSQL/MySQL Server<version>/lib/opt/libmysql.lib" mysql.pro

nmake

Ifyou are not using a Microsoft compiler, replace nmake with make in the lineabove.

Note:This database plugin is not supported for Windows CE.

Note:Including "-o Makefile" as an argument to qmake to tell it where tobuild the makefile can cause the plugin to be built in release mode only. Ifyou are expecting a debug version to be built as well, don't use the "-oMakefile" option.

上面说明了你应该将MySQL的连接库文件和头文件一起安装,才可以为QT编译链接驱动。

cd%QTDIR%\src\plugins\sqldrivers\mysql

这里说明了mysql驱动的pro文件在哪个位置,其实这里已经很明显了,但是有可能具体不知道在哪个目录,没关系,我们可以使用搜索将这个目录搜索出来:例如,在我的电脑上,该目录的完整地址为:G:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql。

二、如何进行编译MySQL驱动。

VisualStudio是可视化界面,使用可视化当然要用窗口进行操作了,用命令行不方便而且输入慢。

在QT的安装目录中找到plugins\sqldrivers\mysql文件夹,一般来说,位于G:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql中,其中G为Qt所在的目录。

使用VisualStudio中的Qt加载项打开mysql文件夹中的pro文件,如下图所示:


选择OpenQt Project File (.pro)…菜单后,打开pro文件。

打开pro文件夹后,可能发现无法通过编译,这是因为相关的include目录还没有设置,在工程属性中设置include目录:


G:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtSql


假设Mysql安装在目录G:\ProgramFiles\MySQL中,则向工程中添加include目录:

G:\ProgramFiles\MySQL\MySQL Server 5.6\include;以及lib目录:G:\ProgramFiles\MySQL\MySQL Server 5.6\lib。

       然后在工程属性中的链接器中添加附加依赖项:libmysql.lib。单击编译,即可编译成功。

三、其他

经过编译过程我们可以发现,引用了MySQL发布的libmysql.lib库文件,因此我们需要把对应的libmysql.dll文件拷贝至QT的bin文件夹中才可以正常连接MySQL数据库进行相关操作;而且发布程序也必须将libmysql.dll一起发布。这个libmydll不是采用默认隐式连接,因此采用depend工具无法得知程序需要该dll。

0 0