编译问题:
1、系统中安装有VC,所以头文件冲突
手工修改makefile
删除所有-I 加载VC头文件的项目
2、mysql cannot find -llibmysql
指定libmysql.a的路径
-L
===========================================================================================================================================
Qt 4 访问 mysql 数据库的简单教程
云帆 2006/5/18
因为目前无法使用linux, 所以 Qt 4.1.2 是 windows 开源版, mySql 5.0.21 也是windows 开源版。不过这2个软件都是跨平台的,方法大同小异。
一、配置windows下开发环境。
1. Qt 的安装
这个很简单, 去 trolltech 网站自己下载一个 windows 开源版的就好了。然后双击安装, 一路next, 如果问是否需要安装 MinGW, 点是, 然后next下去, 就完成了。
2. MySQL 的安装
我不喜欢安装东西, 所以去 www.mysql.com 下了个非安装版, 直接放到C盘下了。
至此, 安装环境完成。
二、解决 mysql 的 Qt 驱动问题
这个问题困扰了我一些时间, 因为 Qt 安装完后, 没有带 mySQL 的驱动, 写好的程序运行会提示说 “Driver not loaded”。不过还好, 在 src 目录下可以找到 mysql qt 驱动的源代码。 后来我用 Qt assistant 上说的方法,但始终无法生成库文件, 总有链接错误。 后来google 一下,在 qtcn 上看到他们站长发的一篇文章,才知道是 mysql 默认带的库文件是 ms 格式的, 所以使用 make 的话,ld 程序链接时会失败。 如果大家使用linux系统, 那么就只需按 assistant 说的就够了, 下面 XChinux 也提到了。
解决的办法他也给出了。转录如下:
以下引用引自:http://www.qtcn.org/bbs/read.php?tid=4210&fpage=&toread=&page=1
作者:XChinux
QUOTE:
Qt4 OpenSource for mingw中编译MySQL驱动
mingw-utils包下载:http://www.qtcn.org/download/mingw-utils-0.3.tar.gz
在Qt4的文档中在Windows下关于怎样编译mysql的驱动上面说
You need 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 installed in C:\MYSQL):
cd %QTDIR%\src\plugins\sqldrivers\mysql
qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.LIB" mysql.pro
nmake
If you are not using a Microsoft compiler, replace nmake with make in the line above.
这就是一个容易搞混的地方,上面是使用的libmysql.lib和nmake来编译的,如果使用的是msvc的编译器,那上面是没问题的,但是如果使用的是mingw编译器,那就会出错,有undefined reference....等类错误字样。这是因为mingw使用的库和msvc使用的不同格式的库而引起的。而mysql只提供了msvc可使用的库。 qt4 for mingw要想编译出qsqlmysql库来,我们先得编译出mingw需要的libm