查看完整版本: [-- Qt4 OpenSource for mingw中编译MySQL驱动 --]

QTCN开发网 -> Qt基础编程 -> Qt4 OpenSource for mingw中编译MySQL驱动 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

<<   1   2  >>  Pages: ( 2 total )

XChinux 2006-04-22 21:27

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需要的libmysql.a这个文件来,可使用mingw工具来生成。
mingw-utils包里的reimp命令(如果没有这个命令的话,可从本帖开头处给出的地址中下载这个文件,并把它解压开后的bin目录里的内容拷贝到mingw的bin目录下面。mysql安装的时候默认的安装路径中有空格,我们得先把它的include和lib目录拷贝到没有空格的路径下,比如C:\mysql下)
cd c:\mysql\lib\opt
reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a

如此,这样我们的命令行为(注意qmake和make):

   cd %QTDIR%\src\plugins\sqldrivers\mysql
   qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\libmysql.a" mysql.pro
   make

这下便会在%QTDIR%\plugins\sqldrivers目录下面生成libqsqlmysql.a, qsqlmysql.dll这两个文件了。

scerzz 2006-04-23 14:11
按照上面的方法,没有成功啊,下面是出错的一步,好象找不到libmysql什么的

  1. 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

XChinux 2006-04-23 14:32
把全名写上,libmysql.a

scerzz 2006-04-23 18:37
没理解啊,能说全点么,
不好意思哦

XChinux 2006-04-23 20:41
把你的全部操作命令帖上看看

scerzz 2006-04-23 21:16
先安装了MYSQL的include 和库,没安装MYSQL服务,以前装了PHP套件,有MYSQL所以没装
默认装在program里边的,后来复制到c:\mysql的
我解压了上面的补丁,把reimp.exe复制到mingw32的bin目录下,(装的是DEV-CPP,mingw32在dev-cpp目录下的,按安装帖子安装的),


进入c:\mysql\lib\opt
直接使用reimp命令不行,我就直接运行的reimp.exe文件,我的地址为
D:\Dev-Cpp\mingw32\bin\reimp.exe -d libmysql.lib

然后运行
dlltool -k -d libmysql.def -l libmysql.a
就有了libmysql.a不过是大写,应该没关系哈

cd d:\QT\src\plugins\sqldrivers\mysql
qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.a" mysql.pro
make

然后就出现上面这种情况了

scerzz 2006-04-23 21:50


我把reimp复制到dev-cpp/bin目录下了,发现那下面才是命令存放的目录

  1. 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 -lQtSql4 -lQtCore4

编译的最后一步
可以对比一下

这样编译过后就可以象下面这样连接么
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("abc");
    db.setUserName("root");
    db.setPassword("");//我默认是没有密码的
  db.open();
但db.open()为假啊,没有成功,是否需要在工程里边更改什么东西呢?

XChinux 2006-04-24 09:16
这么说你编译成功了。
在.pro里加上QT += sql

scerzz 2006-04-24 10:49
我编译成功了,QT +=sql 添加了的
而且在qt\plugins\sqldrivers 下已经有了
libqsqlmysql.a
qsqlmysql.dll
但我用


  1. QSqlDatabase::drivers().contains("QMYSQL")

返回为假

我检查

  1. QSqlDatabase::drivers().contains("QSQLITE")

是正常的,难道直接放在下面还有什么操作才能用么?
我的mysql版本为4.1.X的

libggbil 2006-04-25 09:04
在第一次编译出来之后可以用,但是第二天再在没有编译的情况下打开那个程序已经不行了,不知道是什么原因?

wazfb 2006-04-28 10:46
我怎么没编译成功啊,帮我看看错误在那里?
qt是4.1.2,安装目录c:\qt\4.1.2
在Make的时候最后报出的错误如下:

mingw32-make[1]: Entering directory `C:/qt/4.1.2/src/plugins/sqldrivers/mysql'
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-s -shared -Wl,--out-implib,C:\Qt\4.1.2\plugins\sqldrivers\libqsqlmysql.a -o "C:\Qt\4.1.2\pl
ugins\sqldrivers\qsqlmysql.dll" tmp\obj\release_shared\main.o tmp\obj\release_shared\qsql_mysql.o -
L"C:\Qt\4.1.2\lib" -L"C:\Qt\4.1.2\lib" c:\mysql\lib\opt\libmysql.a mysql.pro -lQtSql4 -lQtCore4
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe:mysql.pro: file format not recognized; treating as linker script
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe:mysql.pro:1: syntax error
collect2: ld returned 1 exit status
mingw32-make[1]: *** [C:\Qt\4.1.2\plugins\sqldrivers\qsqlmysql.dll] Error 1
mingw32-make[1]: Leaving directory `C:/qt/4.1.2/src/plugins/sqldrivers/mysql'
mingw32-make: *** [release] Error 2

wazfb 2006-04-29 09:40
晕菜,mysql必须是4.1的,现在好啦,呵呵

wazfb 2006-04-29 17:15
新问题,在命令行下运行qt程序(连接mysql)可以连接到数据库上,但是如果在资源管理器上点击运行程序就会报连接数据库失败,是什么原因啊?

XChinux 2006-05-17 16:22
引用第12楼wazfb2006-04-29 17:15发表的“”:
新问题,在命令行下运行qt程序(连接mysql)可以连接到数据库上,但是如果在资源管理器上点击运行程序就会报连接数据库失败,是什么原因啊?


库路径不对,找不到你程序运行需要的库,可能是你的Qt的bin目录不在PATH里面。

wjfree 2006-09-17 11:56
mysql必须是4。1吗

wjfree 2006-09-17 12:38
好像不用是4。1
不过我这里只能编译出debug版本

dxwang 2007-04-28 21:10
我装的mysql目录下怎么没有include和lib2个目录啊,呵呵,是不是我还有什么没有装啊,哈,谢谢

XChinux 2007-04-28 21:15
引用第16楼dxwang于2007-04-28 21:10发表的  :
我装的mysql目录下怎么没有include和lib2个目录啊,呵呵,是不是我还有什么没有装啊,哈,谢谢


需要的是mysql的开发库,光有运行库还不行

dxwang 2007-04-28 22:13
我也出现了上面的错误,大家是怎么解决的啊,我的mysql是5的
E:\QT4.2.2\installdir\src\plugins\sqldrivers\mysql>qmake -o Makefile "includepat
h+=C:\mysql\include" "libs+=C:\mysql\lib\opt\libmysql.a" mysql.pro

E:\QT4.2.2\installdir\src\plugins\sqldrivers\mysql>make
mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `E:/QT4.2.2/installdir/src/plugins/sqldriver
s/mysql'
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -shared -Wl,--out-implib,e:\QT4.2.2\installdir\plugins\sqldrive
rs\libqsqlmysqld.a -o "..\..\..\..\plugins\sqldrivers\qsqlmysqld.dll" tmp\obj\de
bug_shared\main.o tmp\obj\debug_shared\qsql_mysql.o tmp\obj\debug_shared\moc_qsq
l_mysql.o  -L"e:\QT4.2.2\installdir\lib" -L"e:\QT4.2.2\installdir\lib" -llibmysq
l -lQtSqld4 -lQtCored4
E:\QT4.2.2\mingw\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: ca
nnot find -llibmysql
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysqld.dll] Error 1
mingw32-make[1]: Leaving directory `E:/QT4.2.2/installdir/src/plugins/sqldrivers
/mysql'
mingw32-make: *** [debug-all] Error 2

E:\QT4.2.2\installdir\src\plugins\sqldrivers\mysql>

qing1952003 2007-07-01 12:59
我按照上面的做了,但是make的时候出现以下错误
mingw32-make -f Makefile.Release
Makefile.Release:104: *** multiple target patterns.  Stop.
mingw32-make[1]: Entering directory `D:/Qt/4.3.0/src/plugins/sqldrivers/mysql'
mingw32-make[1]: Leaving directory `D:/Qt/4.3.0/src/plugins/sqldrivers/mysql'
mingw32-make: *** [release] Error 2

应该怎么弄?

bbfking 2008-01-08 16:08
谢谢老大
我用mysql5.0的可以完全可以运行

diyuanbo 2008-05-22 18:44
请问
reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a

reimp -d libmysql.lib
有什么区别

quark 2008-06-04 17:12
按照以上步骤成功编译了,也看到了.dll和.a的两个文件,但是程序中依然是Driver Not Loaded,比较郁闷 =.=b

把.dll和.a文件重命名成odbc等等也没有解决问题。

Qt是Opensource 4.4
Mingw是5.1.4
MySQL是5.0的。

yuli 2008-06-12 18:54
也遇到同样的问题了!! 弄了好几天了还没有解决,谁能帮帮我呀! 我的QQ是419557866 邮箱是yuli_1208@163.com

doit4 2008-06-19 14:57
D:\Qt\4.3.3\src\plugins\sqldrivers\mysql>make
mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `D:/Qt/4.3.3/src/plugins/sqldrivers/mysql'
g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
-DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_NO_DEBUG -DQT_PLUGIN
-DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"..\..\..\..\include\QtCore" -
I"..\..\..\..\include\QtCore" -I"..\..\..\..\include\QtSql" -I"..\..\..\..\inclu
de\QtSql" -I"..\..\..\..\include" -I"c:\MYSQL\INCLUDE" -I"d:\Qt\4.3.3\include\Ac
tiveQt" -I"tmp\moc\release_shared" -I"." -I"..\..\..\..\mkspecs\win32-g++" -o tm
p\obj\release_shared\main.o main.cpp
In file included from main.cpp:39:
../../../sql/drivers/mysql/qsql_mysql.h:47:19: mysql.h: No such file or director
y
In file included from main.cpp:39:
../../../sql/drivers/mysql/qsql_mysql.h:98: error: expected `)' before '*' token

mingw32-make[1]: *** [tmp/obj/release_shared/main.o] Error 1
mingw32-make[1]: Leaving directory `D:/Qt/4.3.3/src/plugins/sqldrivers/mysql'
mingw32-make: *** [release] Error 2


我咋make不了呢?请大家帮我看看~~~都弄了几天 [s:6]  [s:6]  [s:6]  [s:6] ~~~~~请大家帮助

doit4 2008-06-19 15:34
原来我先前忘记拷贝“include"文件了,,但是后来还是不行,,,帮忙~~~谢
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -Wl,-s -mthreads -Wl -shared -Wl,--out-implib,d:\Qt\4.3.3\plugins\sqldrivers\
libqsqlmysql4.a -o ..\..\..\..\plugins\sqldrivers\qsqlmysql4.dll tmp/obj/release
_shared/main.o tmp/obj/release_shared/qsql_mysql.o tmp/obj/release_shared/moc_qs
ql_mysql.o  -L"d:\Qt\4.3.3\lib" -L"d:\Qt\4.3.3\lib" tmp\obj\release_shared\qsqlm
ysql_resource_res.o C:\MYSQL\LIB\OPT\LIBMYSQL.a -llibmysql -lQtSql4 -lQtCore4
D:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot fin
d -llibmysql
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysql4.dll] Error 1
mingw32-make[1]: Leaving directory `D:/Qt/4.3.3/src/plugins/sqldrivers/mysql'
mingw32-make: *** [release] Error 2

doit4 2008-06-19 16:14
D:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot fin
d -llibmysql


[s:6]  [s:6]  [s:6] 是怎么回事啊,老大

daimon0316 2008-08-12 13:40
晕晕晕,折腾了好久原来是
qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.LIB" mysql.pro

这句中的路径大小写不匹配

[s:5]

masprb 2008-09-10 11:36
将libmysql.lib拷贝到qt\lib即可编译成功

xcf007 2008-11-12 16:38
make出来错误,不成功,郁闷

xcf007 2008-11-12 17:09
c:/MYSQL/INCLUDE/mysql.h:800: error: `my_ulonglong' has not been declared
c:/MYSQL/INCLUDE/mysql.h:800: error: ISO C++ forbids declaration of `offset' wit
h no type
c:/MYSQL/INCLUDE/mysql.h:801: error: expected constructor, destructor, or type c
onversion before "mysql_stmt_num_rows"
c:/MYSQL/INCLUDE/mysql.h:802: error: expected constructor, destructor, or type c
onversion before "mysql_stmt_affected_rows"
c:/MYSQL/INCLUDE/mysql.h:803: error: expected constructor, destructor, or type c
onversion before "mysql_stmt_insert_id"
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream: In member functio
n `std::basic_ostream<_E, _Tr>& std::basic_ostream<_E, _Tr>::put(_E) [with _E =
char, _Tr = std::char_traits<char>]':
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:373:  instantiate
d from here
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:235: error: 'struc
t std::basic_streambuf<char, std::char_traits<char> >' has no member named 'sput
c'
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream: In member functio
n `std::basic_ostream<_E, _Tr>& std::basic_ostream<_E, _Tr>::put(_E) [with _E =
wchar_t, _Tr = std::char_traits<wchar_t>]':
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:379:  instantiate
d from here
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:235: error: 'struc
t std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >' has no member named
'sputc'
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring: In member functio
n `void std::basic_string<_E, _Tr, _A>::resize(int) [with _E = wchar_t, _Tr = st
d::char_traits<wchar_t>, _A = std::allocator<wchar_t>]':
../../../../include/QtCore/../../src/corelib/tools/qstring.h:995:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:355: error: `erase
' was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:355: warning: unus
ed variable 'erase'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`void std::vector<_Ty, _A>::reserve(int) [with _Ty = std::_Vbase, _A = std::_Bo
ol_allocator]':
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:432:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:82: error: `capacit
y' was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:84: error: `_Ucopy'
was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:432:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:88: error: `size' w
as not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:84: warning: unused
variable '_Ucopy'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:88: warning: unused
variable 'size'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:82: warning: unused
variable 'capacity'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`void std::vector<_Ty, _A>::resize(int, const _Ty&) [with _Ty = std::_Vbase, _A
= std::_Bool_allocator]':
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:508:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:109: error: `size'
was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:110: error: `end' w
as not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:110: warning: unuse
d variable 'end'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: error: `begin'
was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: error: `end' w
as not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: error: `erase'
was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: warning: unuse
d variable 'begin'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: warning: unuse
d variable 'end'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: warning: unuse
d variable 'erase'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`bool std::vector<_Ty, _A>::_Eq(const std::vector<_Ty, _A>&) const [with _Ty =
std::_Vbase, _A = std::_Bool_allocator]':
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:540:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: error: `begin'
was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: error: `end' w
as not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: error: 'const
class std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'begin
'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: error: 'const
class std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'

c:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: error: `size'
was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: warning: unuse
d variable 'begin'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: warning: unuse
d variable 'end'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: warning: unuse
d variable 'size'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`bool std::vector<_Ty, _A>::_Lt(const std::vector<_Ty, _A>&) const [with _Ty =
std::_Vbase, _A = std::_Bool_allocator]':
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:543:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: error: `begin'
was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: error: `end' w
as not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: error: 'const
class std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'begin
'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: error: 'const
class std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'end'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: warning: unuse
d variable 'begin'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: warning: unuse
d variable 'end'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`void std::vector<_Ty, _A>::swap(std::vector<_Ty, _A>&) [with _Ty = std::_Vbase
, _A = std::_Bool_allocator]':
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:546:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:221: error: 'class
std::vector<std::_Vbase, std::_Bool_allocator>' has no member named '_First'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:222: error: 'class
std::vector<std::_Vbase, std::_Bool_allocator>' has no member named '_Last'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:223: error: 'class
std::vector<std::_Vbase, std::_Bool_allocator>' has no member named '_End'
c:/Program Files/Microsoft Visual Studio/VC98/include/istream: In member functio
n `bool std::basic_istream<_E, _Tr>::ipfx(bool) [with _E = char, _Tr = std::char
_traits<char>]':
c:/Program Files/Microsoft Visual Studio/VC98/include/istream:34:  instantiated
from `std::basic_istream<_E, _Tr>::sentry::sentry(std::basic_istream<_E, _Tr>&,
bool) [with _E = char, _Tr = std::char_traits<char>]'
c:/Program Files/Microsoft Visual Studio/VC98/include/istream:544:  instantiate
d from here
c:/Program Files/Microsoft Visual Studio/VC98/include/istream:44: error: invalid
operands of types `int' and `std::ios_base&()(std::ios_base&)' to binary `opera
tor&'
c:/Program Files/Microsoft Visual Studio/VC98/include/istream:51: error: 'struct
std::basic_streambuf<char, std::char_traits<char> >' has no member named 'snext
c'
c:/Program Files/Microsoft Visual Studio/VC98/include/istream: In member functio
n `bool std::basic_istream<_E, _Tr>::ipfx(bool) [with _E = wchar_t, _Tr = std::c
har_traits<wchar_t>]':
c:/Program Files/Microsoft Visual Studio/VC98/include/istream:34:  instantiated
from `std::basic_istream<_E, _Tr>::sentry::sentry(std::basic_istream<_E, _Tr>&,
bool) [with _E = wchar_t, _Tr = std::char_traits<wchar_t>]'
c:/Program Files/Microsoft Visual Studio/VC98/include/istream:564:  instantiate
d from here
c:/Program Files/Microsoft Visual Studio/VC98/include/istream:44: error: invalid
operands of types `int' and `std::ios_base&()(std::ios_base&)' to binary `opera
tor&'
c:/Program Files/Microsoft Visual Studio/VC98/include/istream:51: error: 'struct
std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >' has no member named
'snextc'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`void std::vector<_Ty, _A>::_Destroy(int, int) [with _Ty = std::_Vbase, _A = st
d::_Bool_allocator]':
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:58:  instantiated
from `std::vector<_Ty, _A>::~vector() [with _Ty = std::_Vbase, _A = std::_Bool_a
llocator]'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:421:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:231: error: invalid
conversion from `int' to `std::_Vbase*'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:231: error:  initi
alizing argument 1 of `void std::allocator<T>::destroy(_Ty*) [with _Ty = std::_V
base]'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector: In copy constructo
r `std::vector<_Ty, _A>::vector(const std::vector<_Ty, _A>&) [with _Ty = std::_V
base, _A = std::_Bool_allocator]':
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:225:  instantiated
from `void std::vector<_Ty, _A>::swap(std::vector<_Ty, _A>&) [with _Ty = std::_
Vbase, _A = std::_Bool_allocator]'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:546:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:50: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:51: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'begin'

c:/Program Files/Microsoft Visual Studio/VC98/include/vector:51: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'end'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:51: error: `_Ucopy'
was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:51: warning: unused
variable '_Ucopy'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`std::vector<_Ty, _A>& std::vector<_Ty, _A>::operator=(const std::vector<_Ty, _
A>&) [with _Ty = std::_Vbase, _A = std::_Bool_allocator]':
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:225:  instantiated
from `void std::vector<_Ty, _A>::swap(std::vector<_Ty, _A>&) [with _Ty = std::_
Vbase, _A = std::_Bool_allocator]'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:546:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:64: error: `size' w
as not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:64: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:67: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:68: error: `capacit
y' was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:68: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:70: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'begin'

c:/Program Files/Microsoft Visual Studio/VC98/include/vector:71: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'end'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:71: error: `_Ucopy'
was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:72: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:71: warning: unused
variable '_Ucopy'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:76: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:77: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'begin'

c:/Program Files/Microsoft Visual Studio/VC98/include/vector:77: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'end'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:77: error: `_Ucopy'
was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:77: warning: unused
variable '_Ucopy'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:68: warning: unused
variable 'capacity'
c:/Program Files/Microsoft Visual Studio/VC98/include/vector:64: warning: unused
variable 'size'
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream: In member functio
n `void std::basic_ostream<_E, _Tr>::osfx() [with _E = char, _Tr = std::char_tra
its<char>]':
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:44:  instantiated
from `std::basic_ostream<_E, _Tr>::sentry::~sentry() [with _E = char, _Tr = std
::char_traits<char>]'
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:230:  instantiate
d from `std::basic_ostream<_E, _Tr>& std::basic_ostream<_E, _Tr>::put(_E) [with
_E = char, _Tr = std::char_traits<char>]'
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:373:  instantiate
d from here
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:56: error: invalid
operands of types `int' and `std::ios_base&()(std::ios_base&)' to binary `opera
tor&'
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream: In member functio
n `void std::basic_ostream<_E, _Tr>::osfx() [with _E = wchar_t, _Tr = std::char_
traits<wchar_t>]':
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:44:  instantiated
from `std::basic_ostream<_E, _Tr>::sentry::~sentry() [with _E = wchar_t, _Tr =
std::char_traits<wchar_t>]'
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:230:  instantiate
d from `std::basic_ostream<_E, _Tr>& std::basic_ostream<_E, _Tr>::put(_E) [with
_E = wchar_t, _Tr = std::char_traits<wchar_t>]'
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:379:  instantiate
d from here
c:/Program Files/Microsoft Visual Studio/VC98/include/ostream:56: error: invalid
operands of types `int' and `std::ios_base&()(std::ios_base&)' to binary `opera
tor&'
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring: In member functio
n `bool std::basic_string<_E, _Tr, _A>::_Grow(int, bool) [with _E = char, _Tr =
std::char_traits<char>, _A = std::allocator<char>]':
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:133:  instantiate
d from `std::basic_string<_E, _Tr, _A>& std::basic_string<_E, _Tr, _A>::assign(c
onst _E*, int) [with _E = char, _Tr = std::char_traits<char>, _A = std::allocato
r<char>]'
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:50:  instantiated
from `std::basic_string<_E, _Tr, _A>::basic_string(const _E*, int, const _A&) [
with _E = char, _Tr = std::char_traits<char>, _A = std::allocator<char>]'
../../../../include/QtCore/../../src/corelib/tools/qstring.h:986:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:548: error: `max_s
ize' was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:548: warning: unus
ed variable 'max_size'
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring: In member functio
n `void std::basic_string<_E, _Tr, _A>::_Copy(int) [with _E = char, _Tr = std::c
har_traits<char>, _A = std::allocator<char>]':
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:556:  instantiate
d from `bool std::basic_string<_E, _Tr, _A>::_Grow(int, bool) [with _E = char, _
Tr = std::char_traits<char>, _A = std::allocator<char>]'
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:133:  instantiate
d from `std::basic_string<_E, _Tr, _A>& std::basic_string<_E, _Tr, _A>::assign(c
onst _E*, int) [with _E = char, _Tr = std::char_traits<char>, _A = std::allocato
r<char>]'
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:50:  instantiated
from `std::basic_string<_E, _Tr, _A>::basic_string(const _E*, int, const _A&) [
with _E = char, _Tr = std::char_traits<char>, _A = std::allocator<char>]'
../../../../include/QtCore/../../src/corelib/tools/qstring.h:986:  instantiated
from here
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:522: error: `max_s
ize' was not declared in this scope
c:/Program Files/Microsoft Visual Studio/VC98/include/xstring:522: warning: unus
ed variable 'max_size'
mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.4.3/src/plugins/sqldrivers/mysql'
mingw32-make: *** [debug-all] Error 2

C:\Qt\4.4.3\src\plugins\sqldrivers\mysql>

xcf007 2008-11-12 17:09
make出现这个错误,郁闷死了,一天没解决

wljfox 2008-12-05 09:56
C:\Qt\4.4.3\src\plugins\sqldrivers>cd mysql

C:\Qt\4.4.3\src\plugins\sqldrivers\mysql>make
MAKE Version 5.2  Copyright (c) 1987, 1998 Inprise Corp.
Fatal: 'FORCE' does not exist - don't know how to make it


出现错误,大班能不能帮忙解决下?

wu9961 2008-12-11 11:45
请问总版主 我只编译出.a文件 请问是什么原因 整个过程中没有报错

thinke365 2009-02-28 18:18
用vs2005搞定了,up

sophister 2009-03-27 13:53
d:/MYSQL/INCLUDE/mysql.h:809: error: ISO C++ forbids declaration of `offset' wit
h no type
d:/MYSQL/INCLUDE/mysql.h:810: error: expected constructor, destructor, or type c
onversion before "mysql_stmt_num_rows"
d:/MYSQL/INCLUDE/mysql.h:811: error: expected constructor, destructor, or type c
onversion before "mysql_stmt_affected_rows"
d:/MYSQL/INCLUDE/mysql.h:812: error: expected constructor, destructor, or type c
onversion before "mysql_stmt_insert_id"
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream: In member functio
n `std::basic_ostream<_E, _Tr>& std::basic_ostream<_E, _Tr>::put(_E) [with _E =
char, _Tr = std::char_traits<char>]':
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:373:   instantiate
d from here
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:235: error: 'struc
t std::basic_streambuf<char, std::char_traits<char> >' has no member named 'sput
c'
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream: In member functio
n `std::basic_ostream<_E, _Tr>& std::basic_ostream<_E, _Tr>::put(_E) [with _E =
wchar_t, _Tr = std::char_traits<wchar_t>]':
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:379:   instantiate
d from here
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:235: error: 'struc
t std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >' has no member named
'sputc'
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring: In member functio
n `void std::basic_string<_E, _Tr, _A>::resize(int) [with _E = wchar_t, _Tr = st
d::char_traits<wchar_t>, _A = std::allocator<wchar_t>]':
../../../../include/QtCore/../../src/corelib/tools/qstring.h:1036:   instantiate
d from here
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:355: error: `erase
' was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:355: warning: unus
ed variable 'erase'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`void std::vector<_Ty, _A>::reserve(int) [with _Ty = std::_Vbase, _A = std::_Bo
ol_allocator]':
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:432:   instantiated
from here
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:82: error: `capacit
y' was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:84: error: `_Ucopy'
was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:432:   instantiated
from here
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:88: error: `size' w
as not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:84: warning: unused
variable '_Ucopy'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:88: warning: unused
variable 'size'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:82: warning: unused
variable 'capacity'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`void std::vector<_Ty, _A>::resize(int, const _Ty&) [with _Ty = std::_Vbase, _A
= std::_Bool_allocator]':
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:508:   instantiated
from here
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:109: error: `size'
was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:110: error: `end' w
as not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:110: warning: unuse
d variable 'end'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: error: `begin'
was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: error: `end' w
as not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: error: `erase'
was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: warning: unuse
d variable 'begin'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: warning: unuse
d variable 'end'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:112: warning: unuse
d variable 'erase'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`bool std::vector<_Ty, _A>::_Eq(const std::vector<_Ty, _A>&) const [with _Ty =
std::_Vbase, _A = std::_Bool_allocator]':
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:540:   instantiated
from here
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: error: `begin'
was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: error: `end' w
as not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: error: 'const
class std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'begin
'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: error: 'const
class std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'

d:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: error: `size'
was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: warning: unuse
d variable 'begin'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: warning: unuse
d variable 'end'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:214: warning: unuse
d variable 'size'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`bool std::vector<_Ty, _A>::_Lt(const std::vector<_Ty, _A>&) const [with _Ty =
std::_Vbase, _A = std::_Bool_allocator]':
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:543:   instantiated
from here
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: error: `begin'
was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: error: `end' w
as not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: error: 'const
class std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'begin
'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: error: 'const
class std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'end'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: warning: unuse
d variable 'begin'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:217: warning: unuse
d variable 'end'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`void std::vector<_Ty, _A>::swap(std::vector<_Ty, _A>&) [with _Ty = std::_Vbase
, _A = std::_Bool_allocator]':
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:546:   instantiated
from here
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:221: error: 'class
std::vector<std::_Vbase, std::_Bool_allocator>' has no member named '_First'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:222: error: 'class
std::vector<std::_Vbase, std::_Bool_allocator>' has no member named '_Last'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:223: error: 'class
std::vector<std::_Vbase, std::_Bool_allocator>' has no member named '_End'
d:/Program Files/Microsoft Visual Studio/VC98/include/istream: In member functio
n `bool std::basic_istream<_E, _Tr>::ipfx(bool) [with _E = char, _Tr = std::char
_traits<char>]':
d:/Program Files/Microsoft Visual Studio/VC98/include/istream:34:   instantiated
from `std::basic_istream<_E, _Tr>::sentry::sentry(std::basic_istream<_E, _Tr>&,
bool) [with _E = char, _Tr = std::char_traits<char>]'
d:/Program Files/Microsoft Visual Studio/VC98/include/istream:544:   instantiate
d from here
d:/Program Files/Microsoft Visual Studio/VC98/include/istream:44: error: invalid
operands of types `int' and `std::ios_base&()(std::ios_base&)' to binary `opera
tor&'
d:/Program Files/Microsoft Visual Studio/VC98/include/istream:51: error: 'struct
std::basic_streambuf<char, std::char_traits<char> >' has no member named 'snext
c'
d:/Program Files/Microsoft Visual Studio/VC98/include/istream: In member functio
n `bool std::basic_istream<_E, _Tr>::ipfx(bool) [with _E = wchar_t, _Tr = std::c
har_traits<wchar_t>]':
d:/Program Files/Microsoft Visual Studio/VC98/include/istream:34:   instantiated
from `std::basic_istream<_E, _Tr>::sentry::sentry(std::basic_istream<_E, _Tr>&,
bool) [with _E = wchar_t, _Tr = std::char_traits<wchar_t>]'
d:/Program Files/Microsoft Visual Studio/VC98/include/istream:564:   instantiate
d from here
d:/Program Files/Microsoft Visual Studio/VC98/include/istream:44: error: invalid
operands of types `int' and `std::ios_base&()(std::ios_base&)' to binary `opera
tor&'
d:/Program Files/Microsoft Visual Studio/VC98/include/istream:51: error: 'struct
std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >' has no member named
'snextc'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`void std::vector<_Ty, _A>::_Destroy(int, int) [with _Ty = std::_Vbase, _A = st
d::_Bool_allocator]':
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:58:   instantiated
from `std::vector<_Ty, _A>::~vector() [with _Ty = std::_Vbase, _A = std::_Bool_a
llocator]'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:421:   instantiated
from here
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:231: error: invalid
conversion from `int' to `std::_Vbase*'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:231: error:   initi
alizing argument 1 of `void std::allocator<T>::destroy(_Ty*) [with _Ty = std::_V
base]'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector: In copy constructo
r `std::vector<_Ty, _A>::vector(const std::vector<_Ty, _A>&) [with _Ty = std::_V
base, _A = std::_Bool_allocator]':
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:225:   instantiated
from `void std::vector<_Ty, _A>::swap(std::vector<_Ty, _A>&) [with _Ty = std::_
Vbase, _A = std::_Bool_allocator]'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:546:   instantiated
from here
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:50: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:51: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'begin'

d:/Program Files/Microsoft Visual Studio/VC98/include/vector:51: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'end'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:51: error: `_Ucopy'
was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:51: warning: unused
variable '_Ucopy'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector: In member function
`std::vector<_Ty, _A>& std::vector<_Ty, _A>::operator=(const std::vector<_Ty, _
A>&) [with _Ty = std::_Vbase, _A = std::_Bool_allocator]':
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:225:   instantiated
from `void std::vector<_Ty, _A>::swap(std::vector<_Ty, _A>&) [with _Ty = std::_
Vbase, _A = std::_Bool_allocator]'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:546:   instantiated
from here
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:64: error: `size' w
as not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:64: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:67: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:68: error: `capacit
y' was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:68: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:70: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'begin'

d:/Program Files/Microsoft Visual Studio/VC98/include/vector:71: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'end'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:71: error: `_Ucopy'
was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:72: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:71: warning: unused
variable '_Ucopy'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:76: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'size'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:77: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'begin'

d:/Program Files/Microsoft Visual Studio/VC98/include/vector:77: error: 'const c
lass std::vector<std::_Vbase, std::_Bool_allocator>' has no member named 'end'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:77: error: `_Ucopy'
was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:77: warning: unused
variable '_Ucopy'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:68: warning: unused
variable 'capacity'
d:/Program Files/Microsoft Visual Studio/VC98/include/vector:64: warning: unused
variable 'size'
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream: In member functio
n `void std::basic_ostream<_E, _Tr>::osfx() [with _E = char, _Tr = std::char_tra
its<char>]':
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:44:   instantiated
from `std::basic_ostream<_E, _Tr>::sentry::~sentry() [with _E = char, _Tr = std
::char_traits<char>]'
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:230:   instantiate
d from `std::basic_ostream<_E, _Tr>& std::basic_ostream<_E, _Tr>::put(_E) [with
_E = char, _Tr = std::char_traits<char>]'
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:373:   instantiate
d from here
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:56: error: invalid
operands of types `int' and `std::ios_base&()(std::ios_base&)' to binary `opera
tor&'
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream: In member functio
n `void std::basic_ostream<_E, _Tr>::osfx() [with _E = wchar_t, _Tr = std::char_
traits<wchar_t>]':
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:44:   instantiated
from `std::basic_ostream<_E, _Tr>::sentry::~sentry() [with _E = wchar_t, _Tr =
std::char_traits<wchar_t>]'
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:230:   instantiate
d from `std::basic_ostream<_E, _Tr>& std::basic_ostream<_E, _Tr>::put(_E) [with
_E = wchar_t, _Tr = std::char_traits<wchar_t>]'
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:379:   instantiate
d from here
d:/Program Files/Microsoft Visual Studio/VC98/include/ostream:56: error: invalid
operands of types `int' and `std::ios_base&()(std::ios_base&)' to binary `opera
tor&'
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring: In member functio
n `bool std::basic_string<_E, _Tr, _A>::_Grow(int, bool) [with _E = char, _Tr =
std::char_traits<char>, _A = std::allocator<char>]':
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:133:   instantiate
d from `std::basic_string<_E, _Tr, _A>& std::basic_string<_E, _Tr, _A>::assign(c
onst _E*, int) [with _E = char, _Tr = std::char_traits<char>, _A = std::allocato
r<char>]'
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:50:   instantiated
from `std::basic_string<_E, _Tr, _A>::basic_string(const _E*, int, const _A&) [
with _E = char, _Tr = std::char_traits<char>, _A = std::allocator<char>]'
../../../../include/QtCore/../../src/corelib/tools/qstring.h:1027:   instantiate
d from here
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:548: error: `max_s
ize' was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:548: warning: unus
ed variable 'max_size'
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring: In member functio
n `void std::basic_string<_E, _Tr, _A>::_Copy(int) [with _E = char, _Tr = std::c
har_traits<char>, _A = std::allocator<char>]':
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:556:   instantiate
d from `bool std::basic_string<_E, _Tr, _A>::_Grow(int, bool) [with _E = char, _
Tr = std::char_traits<char>, _A = std::allocator<char>]'
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:133:   instantiate
d from `std::basic_string<_E, _Tr, _A>& std::basic_string<_E, _Tr, _A>::assign(c
onst _E*, int) [with _E = char, _Tr = std::char_traits<char>, _A = std::allocato
r<char>]'
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:50:   instantiated
from `std::basic_string<_E, _Tr, _A>::basic_string(const _E*, int, const _A&) [
with _E = char, _Tr = std::char_traits<char>, _A = std::allocator<char>]'
../../../../include/QtCore/../../src/corelib/tools/qstring.h:1027:   instantiate
d from here
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:522: error: `max_s
ize' was not declared in this scope
d:/Program Files/Microsoft Visual Studio/VC98/include/xstring:522: warning: unus
ed variable 'max_size'
mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1
mingw32-make[1]: Leaving directory `D:/Qt/2009.01/qt/src/plugins/sqldrivers/mysq
l'
mingw32-make: *** [debug-all] Error 2

D:\Qt\2009.01\qt\src\plugins\sqldrivers\mysql>

我的也是出现这种错误,试了两天都没解决!!n
哪位高手帮帮忙啊,谢谢了!!!!

a418877216 2009-03-30 13:24
用了三天了,MySql驱动还没有编译出来,谁有编译好的能不能给一个qt4.3.2的。

jinyu 2009-03-31 09:25
我按照斑竹的说法还是没有成功啊, make[1] [tmp/obj/debug_shared/main.o] Error 1
leaving directory "d:\qt\src\plugins\sqldriver\mysql" 怎么回事呢?

sophister 2009-03-31 23:20
请问为什么QT4.5版的编译MYSQL5.0驱动老是报错啊???

soccery 2009-04-22 12:47
关于数据库的连接方式

fslandhead2 2009-04-25 12:48
thanks!



SIGNATURE......................................................................................................
DVD Changer

gotomall 2009-08-03 03:33
我编译出来的是debug版本。真奇怪,谁能告诉我?

zcx513566 2009-09-26 23:54
按照上面的步骤,我不能执行dlltool.exe 文件是怎么会事?该怎么解决,请高人指点?
另外想问下安装qt creator 后在 mingw 编译器下要怎么编译mysql驱动才能成功?

zcx513566 2009-09-26 23:55
按照上面的步骤,我不能执行dlltool.exe 文件是怎么会事?该怎么解决,请高人指点?
另外想问下安装qt creator 后在 mingw 编译器下要怎么编译mysql驱动才能成功?

heykett 2009-11-03 16:13
今天安装成功总结下:
1、  出现错误:
mingw32-make -f Makefile.Release
  Makefile.Release:104: *** multiple target patterns.  Stop.
  mingw32-make[1]: Entering directory `D:/Qt/4.3.2/src/plugins/sqldrivers/mysql'
  mingw32-make[1]: Leaving directory `D:/Qt/4.3.2/src/plugins/sqldrivers/mysql'
  mingw32-make: *** [release] Error 2
解决:
set lib=
set include=
---------
即设置lib和include为空。否则会在makefile里加上很多qt库需要的无用的头文件,如果你原来lib和include不为空。
参考:http://www.qtcentre.org/forum/f-installation-5/t-did-you-try-qt-43-opensource-on-winxp--7428.html
2、安装lz的方法,qt-4.3.0下编译出来了驱动,但是下了苦功夫也没弄通,一直提示driver not load
因碰到了上面的问题,换成qt-4.3.2.后,顺利就可以连接mysql了。
给大家提供下载地址
Qt 4.3.2   :
http://www.qtcn.org/download/qt-win-opensource-4.3.2-mingw.exe
mySql Server version: 5.1.40:
http://mysql.isu.edu.tw/Downloads/MySQL-5.1/mysql-noinstall-5.1.40-win32.zip

3、其他出现的错误  都可以在网上轻易的找到。

希望对楼下的有帮助。

ahhqdyh 2010-02-05 09:48
前面操作大概一样,就是最后出现了:
mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `E:/SoftWare/Qt/4.4.3/src/plugins/sqldrivers
/mysql'
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -
DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -
DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"e:\software\Qt\4.4.3\include\QtCore" -I"e:\s
oftware\Qt\4.4.3\include\QtCore" -I"e:\software\Qt\4.4.3\include\QtSql" -I"e:\so
ftware\Qt\4.4.3\include\QtSql" -I"e:\software\Qt\4.4.3\include" -I"c:\MYSQL\INCL
UDE" -I"e:\software\Qt\4.4.3\include\ActiveQt" -I"tmp\moc\debug_shared" -I"." -I
"e:\software\Qt\4.4.3\mkspecs\win32-g++" -o tmp\obj\debug_shared\main.o main.cpp

In file included from E:/SoftWare/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../..
/include/windows.h:50,
                 from e:/software/Qt/4.4.3/include/QtCore/../../src/corelib/glob
al/qt_windows.h:52,
                 from e:/software/Qt/4.4.3/include/QtCore/qt_windows.h:1,
                 from ../../../sql/drivers/mysql/qsql_mysql.h:45,
                 from main.cpp:40:
E:/SoftWare/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:168
9: error: declaration of C function `LONG InterlockedCompareExchange(volatile LO
NG*, LONG, LONG)' conflicts with
e:/software/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_windows.h:387
: error: previous declaration `long int InterlockedCompareExchange(long int*, lo
ng int, long int)' here
E:/SoftWare/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:169
3: error: declaration of C function `LONG InterlockedDecrement(volatile LONG*)'
conflicts with
e:/software/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_windows.h:389
: error: previous declaration `long int InterlockedDecrement(long int*)' here
E:/SoftWare/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:169
4: error: declaration of C function `LONG InterlockedExchange(volatile LONG*, LO
NG)' conflicts with
e:/software/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_windows.h:390
: error: previous declaration `long int InterlockedExchange(long int*, long int)
' here
E:/SoftWare/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:169
8: error: declaration of C function `LONG InterlockedExchangeAdd(volatile LONG*,
LONG)' conflicts with
e:/software/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_windows.h:391
: error: previous declaration `long int InterlockedExchangeAdd(long int*, long i
nt)' here
E:/SoftWare/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:170
2: error: declaration of C function `LONG InterlockedIncrement(volatile LONG*)'
conflicts with
e:/software/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_windows.h:388
: error: previous declaration `long int InterlockedIncrement(long int*)' here
mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1
mingw32-make[1]: Leaving directory `E:/SoftWare/Qt/4.4.3/src/plugins/sqldrivers/
mysql'
mingw32-make: *** [debug-all] Error 2

请高手指点一下

chenjn 2010-03-13 00:02
我用的是mingw,运行reimp和dlltool,生成的libmysql.a始终是空文件,在网上搜了很多同样遇到这种问题的,但都没能解决问题,到底是什么问题啊?

如果直接使用libmysql.lib,添加到LIBS里面,倒是能链接成功,但是运行就会出错,对话框提示"You can't do that without a process to debug",而且调试无法停止,只能退出qt creator

wanwan 2010-06-07 17:02
这个描述过程是正确的(for win, Qt 4.6.2, MinGW, MySQL 5.1.44):

http://hi.baidu.com/yafeilinux/blog/item/c895e723f474e0f8d6cae22b.html/cmtid/46d0f5832252d19df703a64e

tensmyo 2010-11-08 21:27
qt 版本 4.7 32bit  mysql 版本 5.1.52

成功做出了 libmysql.a 這個文件 然後 運行

d:\qt\src\plugins\sqldrivers\mysql>qmake -o makefile INCLUDEPATH+="D:\mysql32\include" LIBS+="D:\mysql32\lib\opt\libmysql.dll" mysql.pro

然後就出現了

WARNING: (internal):1: Unescaped backslashes are deprecated.
WARNING: (internal):1: Unescaped backslashes are deprecated.
WARNING: (internal):1: Unescaped backslashes are deprecated.

不能make 失敗了 鬱悶很多天了 版主大大 幫幫忙吧 或者哪位幫我編譯一個 不勝感激 我的qq 53137326 Email. tensmyo@hotmail.com

baobao012345 2010-12-15 01:40
大哥,我的生成libmysql.a 文件后,按照以后的步骤去做一直编译出错。


查看完整版本: [-- Qt4 OpenSource for mingw中编译MySQL驱动 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled