Windows下mysql安装,生成qt驱动过程
来源:互联网 发布:编程工资多少一月 编辑:程序博客网 时间:2024/05/16 05:27
Windows下mysql安装,生成qt驱动过程
1、 准备开发包
mingw-utils-0.3.tar.gz
mysql-noinstall-5.0.96-win32.zip
qt-sdk-win-opensource-2010.04.exe
分析:
1) mysql、msvc、mingw作用关系。Mysql提供的库只有msvc可以识别,mingw不恩能够识别,必须用reimp.exe将mysql下边的库格式转换成mingw能够识别的。
2) mysql选择非安装版。因为需要其中两个文件夹,include、lib。若选安装版,不能选typical型,这样会缺少库文件。可选full,custom。但是full型有问题,文件路径有空格。解决办法:在C:创建mysql,然后将include,lib拷贝进去。
3) QT选择的版本比较低,如果是4.7,,4.8,尝试环境变量有问题,(有待继续研究)
2、 开始安装
准备工作:
a、 解压mingw-utils-0.3.tar.gz将bin目录下的remip.exe拷贝到mingw的bin中。
b、解压mysql-noinstall-5.0.96-win32.zip,创建C:\mysql\,下边有两个目录:include,lib
c、安装qt-sdk-win-opensource-2010.04.exe,在D:\Qt\2010.04\下边有qt,mingw等。
d、环境变量的设置,否则后边会出现mingw32-make,qmake命令不能执行。
系统环境变量中:QT的bin,mingw的bin,QT下边qt下的bin
PATH= D:\Qt\2010.04\bin;D:\Qt\2010.04\qt\bin;D:\Qt\2010.04\mingw\bin;
QTDIT= D:\Qt\2010.04\qt
QMAKESPEC=win32-g++
e、从libmysql.lib生成libmysql.a文件(mingw使用的是静态链接文件为linux格式*.a)
>>C:
>>cd mysql\lib\opt
>>reimp -d libmysql.lib (生成 libmysql.def文件)
>>dlltool -k -d libmysql.def -l libmysql.a (生成 libmysql.a文件)
f、生成QT下的mysql驱动:
>>d:
>>cd Qt\2012.04\qt\src\plugins\sqldrivers\mysql
>>QMAKE -o Makefile "INCLUDEPATH+=C:\mysql\include" "LIBS+=C:\mysql\lib\opt\libmysql.a" mysql.pro
>>mingw32-make
看到D:\Qt\2010.04\qt\plugins\sqldrivers下边多了四个跟mysql相关的文件,那么成功。
qsqlmysql4.dll
libqsqlmysql4.a
qsqlmysqld4.dll
libqsqlmysqld4.a
3、 常见问题总结
1)mysql的lib\include目录能为空
2)环境变量没有设置,就会出现问题。
3)出现警告,WARNING: (internal):1: Unescaped backslashes are deprecated.
WARNING: (internal):1: Unescaped backslashes are deprecated.
WARNING: (internal):1: Unescaped backslashes are deprecated.
解决:
用记事本打开D:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\ mysql.pro文件,在第二行加入:D:\Qt\creater\qt\bin\qmake.exe -o Makefile “INCLUDEPATH+=D:/soft/mysql/include" LIBS+="D:/soft/mysql/lib/opt/libmysql.lib " mysql.pro
并保存.
4)mingw32-make时,出现一堆Vc98错误,
解决:
装vc98时自动的配置了环境变量include和 lib ,先删了这两个环境变量,执行完mingw32-make命令后再重新配置回去就没有问题了。
5)出现问题:cannot find -llibmysql,
解决:
检查qmake设置路径是否正确。尤其是连接库路径。
4 测试
#include <QSqlDatabase>
#include <QSqlError>
测试代码:
Cpp代码
1. QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
2. db.setHostName("localhost");
3. db.setDatabaseName("gamesql");
4. db.setUserName("root");
5. db.setPassword("netjava");
6. bool ok = db.open();
7. if(!ok){
8. qDebug()<<"failuer";
9. qDebug()<<db.lastError();
10. }else{
11. qDebug()<<"success";
12. }
- Windows下mysql安装,生成qt驱动过程
- QT Mysql 驱动编译过程(windows下)
- windows下编译qt的mysql驱动
- windows下编译qt的mysql驱动
- QT在windows下编译mysql驱动
- windows下编译qt的mysql驱动
- Windows下Qt驱动MySQL数据库
- Windows下编译Qt的Mysql驱动
- Windows下Qt编译MySQL驱动
- Qt Windows下 编译mysql驱动 失败
- Windows下编译Qt的Mysql驱动
- windows下QT编译mysql驱动
- QT生成mysql驱动
- Qt(学习)windows下Qt&MySQL数据库配置过程
- 安装QT mysql驱动
- Qt MySQL驱动安装
- 【Qt学习】windows下编译mysql驱动总结
- Windows平台下编译Qt的MySQL数据库驱动
- 英语 介词 at 的用法 复习
- qt dll的调用及与主程序的交互
- iOS使用Audio Queue Services 播放和录制音频
- Arrays中的一些方法
- xla创建菜单按钮
- Windows下mysql安装,生成qt驱动过程
- 关于测试阶段的问题
- Linux 下命令分割符的作用:|| &&
- Android: 如何实现ScrollView中含有ListView?
- win2012部署心得
- BCG界面控件三个产品的功能比较,供大家参考选择
- 关于MD5和SHA、base加密的ruby代码(适合1.9.2)
- 在Android 平台 开发 OpenCV方面的应用,将是我以后的技术开发方向
- 回忆,一切都是那么清晰_伤感日志