知乎:https://www.zhihu.com/people/monkey.d.luffy Android高级开发交流群2: 752871516
全部博文(315)
分类: Mysql/postgreSQL
2011-07-16 02:50:02
运行如下命令:
1>qmake -o Makefile "INCLUDEPATH+=C:\MySQL\lib\include" "LIBS+=C:\MySQL\lib\lib\opt\LIBMYSQL.a" mysql.pro
2>mingw32-make
发现错误了如下:
D:/Qt/4.3.2/src/plugins/sqldrivers/mysql>mingw32-make
mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/Qt/4.3.2/src/plugins/sqldrivers/mysql'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -Wl,-s -mthreads -Wl -shared -Wl,--out-implib,c:/Qt/4.3.2/plugins/sqldrivers/
libqsqlmysql4.a -o "../../../../plugins/sqldrivers/qsqlmysql4.dll" tmp/obj/relea
se_shared/main.o tmp/obj/release_shared/qsql_mysql.o tmp/obj/release_shared/moc_
qsql_mysql.o -L"c:/Qt/4.3.2/lib" -L"c:/Qt/4.3.2/lib" tmp/obj/release_shared/qsq
lmysql_resource_res.o C:/MYSQL/LIB/OPT/LIBMYSQL.a -llibmysql -lQtSql4 -lQtCore4
c:/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]: *** [../../../../plugins/sqldrivers/qsqlmysql4.dll] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.3.2/src/plugins/sqldrivers/mysql'
mingw32-make: *** [release] Error 2
在编译过程中可能会出现"llibmysql文件找不到"的提示拷贝你生成的libmysql.lib文件到C:/Qt/4.3.2/lib文件夹下就可以编译通过了
或者修改mysql.pro文件:(如果发现找不到一些文件,可能是空格搞的鬼。你将include和lib拷贝到c盘根目录下,再将新的路径加入)
如果命令不行,那么就这样:在mysql.pro(在C:\Qt\4.3.2\src\plugins\sqldrivers\mysql下面)中加入:
INCLUDEPATH+="C:\include"
LIBS+="C:\lib\opt\libmysql.a"
保存并退出
再 D:/Qt/4.3.2/src/plugins/sqldrivers/mysql>mingw32-make
6.然后你就会发现在C :\Qt\4.3.4\qt\plugins\sqldrivers下多了四个文件:当然看你安装qt的版本
qsqlmysql4.dllHuangLei_LEGO2015-07-07 08:52:55
kuseshamo:楼主你好!我上面所有的步骤都正确。最后还是出现错误。不知楼主有没有解决办法,谢谢!
`mysql_stmt_attr_set@12\'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x61c6): undefined reference to
`mysql_real_escape_string@16\'
C:/Qt/Qt5.3.0/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../.
./i686-w64-mingw32/bin/ld.exe: .obj/release/qsql_mysql.o: bad reloc address 0x4
in section `.data\'
collect2.exe: error: ld returned 1 exit status
Makefile.Release:80: recipe for target \'..\\..\\..\\
这个没遇到过,而且已经时隔三年了。 你去google、百度或者bing上去查一下吧。 而且时隔这么多年,个人认为应该有比较新的版本,更方便的版本。 其实用ubuntu系统做开发,才是爽的。 windows下很麻烦。
回复 | 举报kuseshamo2015-07-06 22:21:14
楼主你好!我上面所有的步骤都正确。最后还是出现错误。不知楼主有没有解决办法,谢谢!
`mysql_stmt_attr_set@12\'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x61c6): undefined reference to
`mysql_real_escape_string@16\'
C:/Qt/Qt5.3.0/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../.
./i686-w64-mingw32/bin/ld.exe: .obj/release/qsql_mysql.o: bad reloc address 0x4
in section `.data\'
collect2.exe: error: ld returned 1 exit status
Makefile.Release:80: recipe for target \'..\\..\\..\\