qt编译mysql驱动
Ⅰ QT编译mysql驱动为啥没有qsqlmysqld4.dll这个文件产生压根就不产生.dll文件就产生了一个.a文件
首先把你工程目录下的所有makefile 、makefilerelease 、.pro.user等之前的编译数据删除掉
打开你的.pro文件,找到这样一句:
TEMPLATE = ...
把他改成:
TEMPLATE = lib
再重新编译试试
Ⅱ QT中msvc 2010怎么编译MYSQL驱动
编译很简单的,还没出现楼主一样的问题。查查ld 的位置,看看是不是,环境变量在你的cmd 不存在。
Ⅲ qt连接mysql数据库怎么编译驱动
下载mysql C链接库
选择C的链接库
2
将C的连接库解压到到C:/mysql 目录下
3
我的QT 安装在C盘目录下,版本号是4.8.6 所以打开目录
C:\QT\4.8.6\src\plugins\sqldrivers\mysql
4
将C:/mysql/lib/libmysql.dll 和C:/mysql/lib/libmysql.lib
复制到此处。
5
编辑目录下的mysql.pro文件
添加
INCLUDEPATH+="C:/mysql/include"
LIBS+="C:/mysql/lib/opt/libmysql.lib"
运行qt的控制台窗口,方便使用qmake
切换到目录下
C:\QT\4.8.6\src\plugins\sqldrivers\mysql
执行qmake
运行VS2010的控制台工具
切换到
C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下
执行nmake 和nmake release
是nmake不是make
这样在C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下的debug 目录和release 目录下分别会产生
qsqlmysqld4.dll qsqlmysqld4.lib
qsqlmysql4.dll qsqlmysql4.lib
将上面提到的四个文件复制到
C:\QT\4.8.6\plugins\sqldrivers
最后把
C:\mysql\lib\opt\libmysql.dll
C:\mysql\lib\opt\libmysql.lib
复制到
C:\Windows\system32\ 目录下。
最后测试mysql 可不可以在qt中正常使用
新建一个qt 控制台项目
输入以下代码
#include <QCoreApplication>
#include <QDebug>
#include <qstring.h>
#include <qstringlist.h>
#include <qsql.h>
#include <qsqldatabase.h>int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();qDebug() << drivers;return a.exec();
}
运行测试一下,看看有没有图片中红圈圈中的两项内容
Ⅳ Qt 访问mysql
mysql.h确实不是qt的一部分,它是mysql的一部分,你应该是用qt的二进制安装包安装的,不是从源码编译的吧。在linux下你需要安装libmysqlclient,在windows下你安装mysql时就包含了这个文件,你需要的是在gcc的编译参数中增加"-I<mysql.h所在目录>",如果是qt,那么在。pro未见中增加一行INCLUDEPATH += <mysql.h所在目录>
Ⅳ Qt create 编译mysql 驱动 老是出错啊 d:\Microsoft\VC98\include/wchar.h:163: error: '__int64' does no
提到前列腺炎疾病,前列腺炎,相信大家一定不陌生,它作为男性常见的疾病之一,正是因为常见所以很多男性朋友没有引起高度的重视,殊不知,它对于男性朋友的危害性非常的大,下面介绍一下六大必知男性前列腺炎危害,希望给男性朋友提供必要的帮助。
一、痛苦
影响工作和生活。由于炎症的刺激,产生一系列症状,如腰骶、会阴、睾丸等部位胀痛、尿不尽、夜尿频多等,使患者烦躁不安,影响工作和生活。
二、影响生育
可导致不育。长期的慢性炎症,使前列腺液成分发生变化,前列腺分泌功能受到影响,进而影响精液的液化时间,精子活力下降,可以导致男性不育。
三、影响性功能
导致阳萎、早泄。由于疾病长期未能治愈,各种症状和不适在性交后加重,或直接影响性生活的感受和质量,对患者造成一种恶性刺激,渐渐对性表现出一种厌恶感,导致阳萎、早泄等现象。
四、导致内分泌失调
引起精神异常。正常情况下,前列腺能分泌多种活性物质。由于前列腺发生炎症,内分泌失调,睾丸炎,可引起神经衰弱,以致精神发生异常;亦可出现失眠多梦、乏力头晕、思维迟钝、记忆力减退等症状。
五、传染配偶引起妇科炎症
前列腺炎可以传染给妻子,特别是一些特殊病菌感染引起的前列腺炎,包皮过长,其炎症可以通过性交途径传染给妻子。如霉菌性前列腺炎、滴虫性前列腺炎、淋病性前列腺炎、非淋菌性(衣原体、支原体)前列腺炎等。
六、导致慢性肾炎
发展为尿毒症。前列腺炎如不及时治疗,早泄,可导致前列腺增生,对膀胱出口进行压迫,使尿液不能完全排空,出现残余尿。残余尿是细菌繁殖的良好培养基,加之膀胱粘膜防御机制受损,故极易导致尿路感染如肾盂肾炎等,此时如治疗不彻底,由肾盂肾炎、肾积水等,进而发展为肾炎,最后发展为尿毒症。
Ⅵ qt qmysql driver not loaded怎么解决
1.安装qt的时候还没有安装mysql.也就是说应该在安装qt之前安装mysql数据库.这个错误由QSqlDatabase抛出db.lastError().text()
2.将以前编译的mysql驱动程序拷入qt文件夹位置放错.
3.你的程序写错了.
4."driver not loaded" 是由query.lastError().text()抛出的错误.
5.gcc版本不一样(本机和目标机).
既然知道原因了,解决起来也就非常轻松了.
1.重新安装qt,重新安装mysql驱动
2和3的解决方法我就没有什么好说的了.
4. 说明你的query在创建的时候没有和qsqldatabase建立起关联.正确的方法是声明qsqldatabase后就声明query.如果你希望一 个连接能够和多个query关联使用如下语法:QSqlQuery query(db),db是QSqlDatabase的实例名.
5.同步gcc版本咯..
首先,运行如下测试代码:
//don't forget about QT+= sql
qDebug() << QSqlDatabase::drivers();
QSqlDatabase db( QSqlDatabase::addDatabase( "QMYSQL" ) );
qDebug() << db.lastError();
Ⅶ 如何解决Qt Mysql中无法加载驱动问题
本文讲解是如何解决Qt Mysql中无法加载驱动问题,MySQL是一个小型关系型数据库管理系统。对于已经融入到Qt中的MySQL,也是很推广!那么先看本文的介绍。
做毕业,这两天一个很大的问题困惑的我不行。毕设我是用qt + mysql来做的。结果在自己电脑上跑起来很正常,但是编译一个release版本,拿到另外一台电脑上就报错说:can't load driver 。试图去解决这个问题,今天总算搞定,这里总结一下。
首先需要说明的是:我用的是qt for vc2005,qt4.5.0 mysql server5.5
整个流程:
1:首先我编译了一个release版本,而后用dependency walker查看了下库的依赖情况。发现依赖于:QtSql4.dll,QtGui4.dll,QtCore4.dll,msvcr80.dll以及KERNEL32.DLL这几个库。其中最后一个是system的,我们不用去管,剩下的这几个显然都需要拷贝到exe同目录下。尤其是msvcr80.dll,我在我电脑上搜了一下:有多大10几个同名的该文件,所以拷贝哪个是很重要的,此时我们只需要在dependency walker查看这个dll的属性,然后去对应目录底下拷贝就行了。所以:第一步就是把这些依赖库拷贝到exe同目录下。(千万不要拷贝错误,尤其是不同的版本)。
2、做完1之后再次运行,提示:找不到驱动。 问了一下别人,告之需如下做:
(1)首先在exe同目录下建一个plugins\sqldrivers这样的二级目录,而后将前边编译生成的qt-mysql驱动:qsqlmysql4.dll放到里边。
(2)而后在main.cpp中加上如下两句:
QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+ "plugins"); qApp.addLibraryPath(strLibPath);
做完这两部之后:按理应该没问题了,但是run一下发现:还是提示驱动找不到。
3、再后来,上网查了一下各种说法,发现几种可能性:①你要发布的电脑上没有安装mysql ②mysql版本不对。 我就纳闷了:找不到驱动与装没装mysql有什么关系?毕竟:驱动是我自己编译的,又不是mysql提供的。 问了下别人,别人也这么认为。然后就卡在这里了。 我不死心,继续在网上寻找各种可能的答案并进行尝试。最后找了问题,原来:我们需要把mysql提供的:libmySQL.dll这个库拷贝到exe同目录下(该文件在我自己电脑上处于:C:\Program Files\MySQL\MySQL Server 5.5\bin文件夹下)。如此之后再来运行就不再报:找不到驱动这个错误啦!(此时报的是:连接不到某个指定的数据库,那是因为我还没有把数据库文件导入到目标机器上来)。
总结:在其他pc上发布的时候需要做如下工作:
1、使用depenency walker查看依赖库,全部拷贝到exe同文件夹下。
2、(1)在exe同目录下建一个plugins\sqldrivers这样的二级目录,而后将前边编译生成的qt-mysql驱动:qsqlmysql4.dll放到里边。
(2)而后在main.cpp中加上如下两句:
QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+ "plugins"); qApp.addLibraryPath(strLibPath);
3、将mysql/bin目录下的libmySQL.dll拷贝到exe同目录下。
做完以上几步之后就OK了。
至于最后所报的连接不到指定的数据库,原因是这样的:
在开发的电脑上:你建了一个mysql数据库,那么我们需要把这个数据库文件也拷贝到目标机器上,并在目标机器上装mysql,而后将这个数据库文件导入进去。 导入之后你会发现:各字段的数据有可能出现乱码,这是由于各个字段的编码格式在开发机器和目标机器上不一致 导致的! 你需要按照开发机器上的数据库文件配置来重新设置一下目标机器的各个字段编码格式。
而在目标机器上导入数据库文件的方法是:(以建立的数据路名为buaa.sql为例)
1、在目标机器上装mysql
2、命令行运行mysql,进入后执行命令:create database buaa;
3、导入buaa.sql到刚创建的buaa数据库中。(我用的mysql-front这个数据库图形化工具)。
测试: Qt4.5.0commercial + vc2005 express + mysql5.5 +mysql-front +windows xp
(网上很多人说:找不到驱动是因为目标机器上没有安装vc运行时库的原因,但是我这里没有遇到这个问题:我测试的电脑没有任何vc环境,没有任何qt环境,也没有安装windows sdk。 但是如果大家按照我上边的方法测试发现有问题时:可以考虑在目标机器上安装vc运行时库试一下。它分sp1版本和 非sp1版本,你对应主机的vc版本选择一个安装就是。)
小结:关于如何解决Qt Mysql中无法加载驱动问题,介绍完了,好像出现此问题的友们还是有很多滴,希望本文对你有所帮助。
Ⅷ Linux系统 qt4.6.0中的mysql驱动怎么安装
Mysql:Mysql-5.0.22.tar.gz 1>建立MySQL使用者和群组:
#groupadd mysql
#useradd -g mysql mysql2>解压缩Mysql-5.0.22.tar.gz源码包
#cd /home
#tar zxvf Mysql-5.0.22.tar.gz3>进入源码目录编译安装
#cd /home/Mysql-5.0.22
#../configure --prefix=/usr/local/mysql --with-unix-socket-path=/usr/local/mysql/var/mysql.sock --with-tcp-port=3306 --with-mysqld-user=mysql --with-charset=gb2312
#make
#make install4>替换/etc/my.cnf文件,进入源码包,执行命令
#cp support-files/my-medium.cnf /etc/my.cnf5>完成以上操作以后进行初始化数据库,进入已经安装好的mysql目录
#cd /usr/local/mysql
#bin/mysql_install.db --user=mysql |注:--user=mysql 初始化表并且规定用mysql用户6>设置给mysql和root用户设定访问权限 我们先进入mysql目录
#cd /usr/local/mysql
#chown –R root /usr/local/mysql |注:设定root能访问/usr/local/mysq
#chown –R mysql /usr/local/mysql/var |注:设定mysql用户能访问/usr/local/mysql/var
#chgrp –R mysql /usr/local/mysql |注:设定mysql组能够访问/usr/local/mysql7>启动mysql,进入已经安装好的目录
#cd /usr/local/mysql
#bin/mysqld_safe --user=mysql &8>设定开机就启动mysql,进入源码目录下
#cd /usr/local/mysql/share
#cp mysql.server /etc/init.d/mysql#cd /etc/rc3.d
#ln –s ../init.d/mysql S64mysql
#ln –s ../init.d/mysql K36mysql#cd /etc/rc5.d
#ln –s ../init.d/mysql S64mysql
#ln –s ../init.d/mysql K36mysql#cd ../init.d
#chmod 755 mysql
Ⅸ Qt怎么才能成功编译Mysql的驱动
为什么不用QCreator集成开发环境,
你是要编译mysql,为什么还要用已编译好的libmysql.lib
LIBS += "C:/MySQL/lib/libmysql.lib",这一句应该去掉
Ⅹ QT编程,mysql驱动编译好了,为什么写测试连接数据库,总是打开数据库出错大侠帮忙啊
"test"是表名吧!你要填写数据库名称;mysql应该是默认就有的!