昨天把写好得几个数据库应用程序移植到windowsxp上去,很庆幸qt4.x在windows平台良好得表现力。
可是搞了半天,在网络上找了好几个参考资料,结果老是提示找不到libmysq.dll这个东东。错误跟网络
上很多朋友得错误一样。大致如下:
.........................................................................................................................................
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -Wl,-s -Wl,-s -shared -Wl,--out-implib,d:\Qt\4.1.1\plugins\sqld
rivers\libqsqlmysql.a -o "d:\Qt\4.1.1\plugins\sqldrivers\qsqlmysql.dll" tmp\obj\
release_shared\main.o tmp\obj\release_shared\qsql_mysql.o -L"d:\Qt\4.1.1\lib" -
L"d:\Qt\4.1.1\lib" C:\MYSQL\LIB\OPT\LIBMYSQL.a -llibmysql -lQtSql4 -lQtCore4
D:\Dev-Cpp\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot f
ind -llibmysql
collect2: ld returned 1 exit status
mingw32-make[1]: *** [d:\Qt\4.1.1\plugins\sqldrivers\qsqlmysql.dll] Error 1
mingw32-make[1]: Leaving directory `D:/Qt/4.1.1/src/plugins/sqldrivers/mysql'
mingw32-make: *** [release] Error 2
............................................................................................................................................
按照assistant上面的做法,以及参考网络上得资料,怎么搞都是这个错误.很恼火,搞了我好几个小时,中午午觉都
没有睡,不过我还是很幸运得,很多朋友为了这个问题搞了几天.
具体过程如下:
1 安装mingw. (安装路径 c:\mingw)
2 安装qt-4.5.1-opensource-windows-mingw.exe具体可以在trolltech公司的ftp上下载这个版本. (安装路径 c:\qt)
3 安装mysql过程中选择custom 方式,选择开发模式.即代include lib库的方式,其他按默认设置. (安装路径c:\mysql).
注:为什么选择这样的安装路径,因为这些文件默认安装得时候路径带有“空格”,在解析路径的时候,会有麻烦。
4 分别为这几个文件的/bin目录设置环境变量。
5 下载mingw-utils包, 下载:
http://www.qtcn.org/download/mingw-utils-0.3.tar.gz 下载后把 /bin里面的reimp.exe文件拷贝到
c:\mingw\bin下面。
6 命令行执行这样的操作:
cd c:\mysql\lib\opt
reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a (完成后在c:\mysql\lib\opt目录下会产生几个相应的文件。不要管它。)
7 到QT对应的mysql源文件目录下去。即:
cd %QTDIR%\src\plugins\sqldrivers\mysql
qmake -o Makefile
"INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\libmysql.a" mysql.pro
make
这样就搞定,编译通过,就可以在qt的相应目录中就会产生myql得动态链接库文件。编个程序测试下绝对没有问题
粗体部分的大小写一定要注意。任意搞错一个字母得大小写就不能通过。