Windows下QT MySQL驱动编译
在Windows环境中使用Qt进行关于MySQL数据库的操作时,会出现如下问题:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC
这是由于MySQL数据库的驱动程序未在Qt下编译造成的(确切的说是未使用mingw32进行编译),解决的方法如下:
1. 自定义安装MySQL,注意安装目录不要有空格,我的目录在
C:\MySQL\MySQL Server 5.6
虽然二级目录有空格,但是没有影响。
2. 打开Qt Command Prompt,切换到目录:
cd %QTDIR%\src\plugins\sqldrivers\mysql
3. 执行如下命令:
qmake "INCLUDEPATH+=C:\MySQL\MySQL Server 5.6\include" "LIBS+=C:\MySQL\MySQL Server 5.6\lib\libmysql.lib" mysql.pro
注意上述目录与安装的MySQL版本有关,本人使用的版本为:
mysql-installer-community-5.6.26.0.msi
4. 执行
mingw32-make
此处可能出现如下错误:
In file included from main.cpp::
../../../sql/drivers/mysql/qsql_mysql.h::: error: mysql.h: No such file or directory
In file included from main.cpp::
../../../sql/drivers/mysql/qsql_mysql.h:: error: expected ')' before '*' token
mingw32-make[]: *** [tmp/obj/debug_shared/main.o] Error
mingw32-make[]: Leaving directory `C:/Qt/2010.02./qt/src/plugins/sqldrivers/mysql'
mingw32-make: *** [debug-all] Error
这是由于未包含MySQL库文件造成的,在mysql.pro文件中添加如下代码:
INCLUDEPATH += "C:/MySQL/MySQL Server 5.6/include"
LIBS += "C:/MySQL/MySQL Server 5.6/lib/libmysql.lib"
重复步骤4.即可生成以下4个文件:
qsqlmysql4.dll
libqsqlmysql4.a
qsqlmysqld4.dll
libqsqlmysqld4.a
5. 将C:\MySQL\MySQL Server 5.6\lib\中的libmysql.lib拷贝到C:\Qt\2010.05\mingw\bin中。
//正文完
参考:
1. http://blog.csdn.net/wang_xuehen/article/details/7483133
2. http://blog.csdn.net/wang19870102/article/details/39318225
3. http://www.cppblog.com/biao/archive/2011/10/29/159296.html
Windows下QT MySQL驱动编译的更多相关文章
- Qt Mysql驱动编译过程
1.首先当然是要有VS2008+Qt4.7的开发环境. 2.安装MySQL,最好是4以后的版本,安装MySQL时要勾住“C Include Files 和 Lib Files”选项,这样才能装上MyS ...
- windows下安装mysql驱动mysql-python
Windows下直接pip安装会出错 解决方案 到Python Extension Packages for Windows - Christoph Gohlke 下载MySQL_python‑1.2 ...
- 关于windows下QT以及QT creator的安装
普及 之 windows下qt的安装及配置 qt介绍 : Qt,分为商业.开源两个版本,商业版需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态 ...
- 在Windows下使用MinGW静态编译Assimp
使用MinGW静态编译Assimp 到了5月份了,没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...
- 关于 Windows 下 Qt 开发,这个问题必须要搞清楚!
小伙伴们,大家好,小北师兄又来喂饭啦,从上次写完<一个例子让你秒懂 Qt Creator 编译原理>后,师兄对于 Qt 的一些环境配置有了更深的理解,这对师兄进行 Qt 的后续学习起到了很 ...
- RPM方式安装MySQL5.6和windows下安装mysql解压版
下载地址: http://cdn.MySQL.com/archives/mysql-5.6/MySQL-server-5.6.13-1.el6.x86_64.rpmhttp://cdn.mysql.c ...
- windows下的mysql客户端mysqlworkbench链接虚拟机上CentOS的mysql服务器
本人在虚拟机上CentOS的Linux环境下安装了mysql服务器,在本地Windows下安装了mysql的客户端mysqlworkbench ,所以就想让windows下的mysql客户端mysql ...
- Windows下搭建MySQL Master Slave[转]
Windows下搭建MySQL Master Slave 一.背景 服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用k ...
- windows下安装mysql笔记
接着上几篇文章再来看下windows下安装mysql. 我这里是windows7 64位, 安装过程中还是遇到一些坑,这里记录下. 一.下载安装包 打开mysql官网下载页面:http://dev.m ...
随机推荐
- listView里面添加gridview
package com.example.cc.ecustapp.Adapter; import android.content.Context;import android.util.DisplayM ...
- 获取openid
请将文件MP_verify_IbWggk5i4gWgrast.txt上传至mp.weixin.qq.com指向的web服务器(或虚拟主机)的目录 怎么处理的?//将txt文件上传到你填的域名的根目录 ...
- [Idea Fragments] PostScript for 3D Print??
今天看到一篇关于PostScript的文章<编程珠玑番外篇-P PostScript 语言里的珠玑>,尤其是篇尾的这段话,让我对3D Print浮想联翩: 因为 PostScript 语言 ...
- JS 怎么刷新当前页面
reload 方法,该方法强迫浏览器刷新当前页面. 语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页 ...
- sql server数据库数据查询成功
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- 关于JSON日期格式显示及My97日期控件
1.My97日期控件.显示不同的日期格式,可以调整"dateFmt“的参数来配置: 详细DEMO:http://www.my97.net/demo/index.htm <p>日期 ...
- python import错误 SyntaxError: invalid syntax
导入一个叫service-listener.py的文件是一直遇到错误: SyntaxError: invalid syntax 单独运行service-listener这个文件时,没有问题,只是不能被 ...
- 时间戳(Unix时间)
/// <summary> /// 时间戳与DateTime互转 /// </summary> public class UnixOfTimeHelper { /// < ...
- (转)java enum枚举
转载自: 原理:http://singleant.iteye.com/blog/686349 应用:http://www.cnblogs.com/happyPawpaw/archive/2013/04 ...
- vc6项目-vc8项目 转换日志
此随笔参考了http://blog.163.com/feng_qihang/blog/static/7129199120093422722430/ 把VC6的项目转换成VS2005项目,经过VS200 ...