如何为qt构建mysql驱动程序?

时间:2014-04-02 20:57:33

标签: c++ mysql qt

我阅读了很多说明和教程如何做到这一点,我尝试了很多,但是6个小时已经过去了,它们都是一样的。请帮忙......

我知道,stackoverflow上有一些类似的问题,但对它们的回答并没有帮助。

问题:

我想为我的qt程序构建Mysql驱动程序。根据我的指示:

1)set mysql=C:\PROGRA~1\MySQL\MYSQLS~1.6(完整路径为C:\ Program Files \ MySQL \ MySQL Server 5.6)

2)

cd C:\Qt_Sources\5.2.1\Src\qtbase\src\plugins\sqldrivers\mysql
qmake -o Makefile "INCLUDEPATH+=%mysql%\include" "LIBS+=%mysql%\lib\libmysql.lib"  mysql.pro
mingw32-make
来自(C:\ MinGW \ bin)的

mingw32-make 在此之后我得到了:

mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory 'C:/Qt_Sources/5.2.1/Src/qtbase/src/plugins/
sqldrivers/mysql'
Makefile.Release:65: *** missing separator.  Stop.
mingw32-make[1]: Leaving directory 'C:/Qt_Sources/5.2.1/Src/qtbase/src/plugins/s
qldrivers/mysql'
Makefile:40: recipe for target 'release-all' failed
mingw32-make: *** [release-all] Error 2

我还尝试了(C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ VC \ bin)中的 nmake ,结果是:

Microsoft (R) Program Maintenance Utility Version 11.00.50727.1
Copyright (C) Microsoft Corporation.  All rights reserved.

        "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\nmake.exe" -
f Makefile.Release all

Microsoft (R) Program Maintenance Utility Version 11.00.50727.1
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl -c -nologo -Zm200 -Zc:wchar_t -O2 -MD -GR -W3 -w34100 -w34189 -DUNICO
DE -DWIN32 -DQT_EDITION=QT_EDITION_DESKTOP -DQT_EVAL -DQT_NO_CAST_TO_ASCII -DQT_
NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQ
T_CORE_LIB -DNDEBUG -I"%mysql%\include" -I"C:\Qt\5.2.1\msvc2012\include\QtSql\5.
2.1" -I"C:\Qt\5.2.1\msvc2012\include\QtSql\5.2.1\QtSql" -I"C:\Qt\5.2.1\msvc2012\
include" -I"C:\Qt\5.2.1\msvc2012\include\QtSql" -I"C:\Qt\5.2.1\msvc2012\include\
QtCore\5.2.1" -I"C:\Qt\5.2.1\msvc2012\include\QtCore\5.2.1\QtCore" -I"C:\Qt\5.2.
1\msvc2012\include\QtCore" -I".moc\release" -I"..\..\..\..\mkspecs\win32-msvc201
2" -Fo.obj\release\ @C:\Users\GOODSP~1\AppData\Local\Temp\nmD5C6.tmp
NMAKE : fatal error U1077: 'cl' : return code '0xc0000135'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
\VC\bin\nmake.exe"' : return code '0x2'
Stop.

请解释我做错了什么......

1 个答案:

答案 0 :(得分:0)

是的,我终于解决了这个问题......

我将 qmake 用于另一个qt版本,对我来说,我认为我使用了msvc2012中的 qmake ,并试图通过mingw32-make和nmake(但是来自nmake)视觉工作室2011 ..也许这就是问题所在。)

解决方案是: 使用 mingw48_32 目录中的 qmake (对我而言:C:\Qt\5.2.1\mingw48_32。使用mingw安装qt源码,如果你没有它的话) 。之后,mingw32-make一切正常。