Heim >Datenbank >MySQL-Tutorial >Qt之编译MySQL数据库驱动(MSVC)

Qt之编译MySQL数据库驱动(MSVC)

WBOY
WBOYOriginal
2016-06-01 13:13:201582Durchsuche

    注:Qt5.2以前的版本,提供的数据库包括:ODBC、SQLite、PSQL,其它没有提供的需要自己进行编译。但从Qt5.2开始,已经包含MySQL,不需要手动编译。但是为了说明如何使用MySQL,这里将各个版本的用法都进行对比、说明。

Qt5.2版本

    安装Qt5.2版本的,可以在安装目录下,pluins/sqldrivers下进行查看,面包含有MySQL驱动。

Qt之编译MySQL数据库驱动(MSVC)

Qt5.2之前的版本

    针对5.2之前的版本MySQL需要自行编译,这里就以5.2为例(其它版本同理)。

    关于数据库驱动的介绍以及如何编译可以参考Qt助手,里面有一节:SQL Database Drivers。

Qt之编译MySQL数据库驱动(MSVC)
  

    下面讲述关于如何利用MSVC编译MySQL。

环境:VS2010 + Qt5.2

    其实版本问题没有什么太大影响,因为编译本来就大同小异。。。

一、下载Qt安装包与Qt插件

  • qt-windows-opensource-5.2.0-msvc2010_opengl-x86-offline.exe
  • qt-vs-addin-1.2.2-opensource.exe

    下载地址可参考:VS集成Qt环境搭建。

    注意:安装opensource的时候记得选择源码,否则 编译的时候还得重新下载。

二、下载MySQL
  • MySQL主页:http://www.mysql.com/.

(1)进入主页,选择:Downloads(GA)

    如下:Qt之编译MySQL数据库驱动(MSVC)

(2)转到页面最下面,MySQL Community Edition (GPL),选择:Download from MySQL Developer Zone >>

    如下:

Qt之编译MySQL数据库驱动(MSVC)
(3)转到页面右上角,选择:New Releases对应的版本(这里我选择的是5.6)

    如下:

Qt之编译MySQL数据库驱动(MSVC)

(4)转到页面最下面,Other Downloads,选择对应的版本(这里我选择的是32位)

    如下:Qt之编译MySQL数据库驱动(MSVC)

    下载完成之后,进行解压,拷贝到一个指定的路径(我选择的是:D:/mysql-5.6.15-win32)。

三、编译

(1)选择:开始->所有程序->Qt5.2.0->Qt5.2.0->MSVC 2010 OpenGL->Qt5.2.0 for Desktop(MSVC 2010 OpenGL)

    如下:Qt之编译MySQL数据库驱动(MSVC)

(2)进入Qt源码目录,我的为:D:/Software/Qt/Qt5.2.0/5.2.0/Src/qtbase/src/plugins/sqldrivers/mysql

(3)执行命令:qmake "INCLUDEPATH+=D:/mysql-5.6.15-win32/include" "LIBS+=D:/mysql-5.6.15-win32/lib/libmysql.lib" mysql.pro

    如下:

Qt之编译MySQL数据库驱动(MSVC)

    执行完成之后,就会生成Makefile文件。

    如下:

Qt之编译MySQL数据库驱动(MSVC)

(4)选择:开始->所有程序->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示(2010)

    如下:Qt之编译MySQL数据库驱动(MSVC)

(5)执行命令:nmake

如下:Qt之编译MySQL数据库驱动(MSVC)如下:

Qt之编译MySQL数据库驱动(MSVC)

(6)准备环境

    将生成的qsqlmysql.dll、qsqlmysqld.dll拷贝到D:/Software/Qt/Qt5.2.0/5.2.0/msvc2010_opengl/plugins/sqldrivers目录中。

    将MySQL目录(D:/mysql-5.6.15-win32/lib)下的libmysql.dll、libmysqld.dll拷贝到D:/Software/Qt/Qt5.2.0/5.2.0/msvc2010_opengl/bin目录中。

    好了,到这里就大功告成了。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn