我正在尝试为Qt项目构建MySQL插件。我按照其他地方给出的说明,但似乎qmake生成的makefile有错误,生成DLL的nmake失败。
有没有人有替代程序?
有谁知道为什么我们根本无法为此下载MySQL DLL?为什么每个人都必须建立它?
这是过程;
qmake "INCLUDEPATH+=c:/'Program Files'/MySQL/'Connector C 6.0.2'/include" "LIBS+=-Lc:/'Program Files'/MySQL/'Connector C 6.0.2'/lib/debug " mysql.pro
c:\QtSDK\QtSources\4.8.0\src\plugins\sqldrivers\mysql>nmake debug
Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\nmake.exe" -f Makefile.Debug
Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
rc -D_DEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3
DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -fo debug\qsqlmysqld_resource.res qsqlmysqld_resource.rc
'rc' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'rc' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\nmake.exe"' : return code '0x2'
Stop.
答案 0 :(得分:2)
我猜你正在构建正常的命令提示符/窗口,而不是Visual Studio版本。这意味着可能并非所有路径都设置正确,并且无法找到rc命令。
所以尝试再次构建,但这次来自Visual Studio command prompt。例如,您可以在开始菜单的Visual Studio条目中的“Visual Studio工具”下找到它。
您也可以运行VCVARS32在常规命令提示符中设置所有适当的路径,但实际上并不需要。
答案 1 :(得分:0)
虽然我解决了使用nmake构建插件的问题,但它并没有导致Qt识别的插件。
相反,我使用QtCreator和(你的Qt源文件夹路径/ src / plugins / sqldrivers / mysql
中包含的项目文件构建了插件必须编辑.pro文件,以使include和lib路径与MySQL安装路径匹配。 .pro文件中的条目包含路径中的空格,但这不会构建。我不得不从mysql路径中取出所有空间来构建它。我将MySQL从“Program Files(x86)”拖到C:并从文件夹名称中删除了空格。
接下来,调试版本指定-llibmysqld,它似乎不再存在。我将它更改为-llibmysql(与发行版相同),然后两个dll都构建得很好。
我使用了Qt Creator 2.6.2,Qt 4.8.4。由此产生的dll正在与Qt项目一起构建 在Visual Studio 2010和Windows 7下。