QT中MySQL驱动的编译
2014-03-26 17:02
375 查看
本文基于Windows 及其Visual Studio来使用,与具体的Windows及其Visual Studio的版本不相关;但是细微的区别可以忽略,相信会使用Visual Studio任意一个版本的朋友都会快速找到适合自己的设置方法。
这一段内容介绍如何得知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。
在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驱动的帮助
本文不仅仅介绍如何编译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。相关文章推荐
- QT4.7.1版本 mysql驱动插件 编译的问题
- QT编译MySQL驱动
- linux 编译QT的mysql驱动
- 实现在XP中为QT编译MySQL驱动实例
- Qt5.7不能加载MySql驱动问题.(需要重新编译驱动)
- QT 编译mysql驱动
- vs2008+Qt 编译MySQL驱动
- Linux QT5.2下编译MySQL5.6.7驱动
- QT使用MySql的配置(使用addLibraryPath载入插件),编译QT的MySql驱动问题及解决方案(自己使用libmysql.lib进行编译mysql.pro,万不得已可以查看Makefile.Debug以解决问题)
- windows下编译qt的mysql驱动
- qt编译mysql驱动-------windows平台和linux平台
- win7编译的QT4.8.4的mysql驱动
- qt mysql 驱动编译
- 编译QT的MySql驱动问题及解决方案
- Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)
- Window下 Qt 编译MySQL驱动
- 编译对应ARM平台的QT的mysql驱动
- win7编译的QT4.8.4的mysql驱动
- qt4.7.3编译MYsql驱动
- Centos7下编译Qt的mysql驱动