Qt 5与MSVC和NMake不起作用

时间:2013-01-06 19:07:01

标签: c++ windows qt nmake msvcrt

当我使用新的Qt Creator 2.6.1和Qt 5.0编译新鲜 Qt项目时,我收到以下错误:

C:\Qt\Qt5.0.0\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
Error: cannot open C:\Users\Ömercan\AppData\Local\Temp\main.obj.7320.31.jom for write
jom: C:\Projekte\PixelGame\src\com\pearstudios\texturepacker\TexturePacker-Debug\Makefile [debug] Error 1
19:46:21: The process "C:\Qt\Qt5.0.0\Tools\QtCreator\bin\jom.exe" terminated with exit code 2.
Error while building/deploying project TexturePacker (kit: Desktop Qt 5.0.0 MSVC2010 32bit (SDK))
When executing step 'Make'

更改选项以直接使用NMake后,我收到以下错误:

"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\nmake.exe" -f Makefile.Debug
    cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtWidgets" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtGui" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\Ömercan\AppData\Local\Temp\nm25A.tmp
NMAKE : fatal error U1077: ""C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"": Exit-Code "0xc0000135"
Stop.
NMAKE : fatal error U1077: ""C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\nmake.exe"": Exit-Code "0x2"
Stop.
19:49:49: The process "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\nmake.exe" terminated with exit code 2.
Error while building/deploying project TexturePacker (kit: Desktop Qt 5.0.0 MSVC2010 32bit (SDK))
When executing step 'Make'

当将TEMP和TMP环境变量更改为具有完整ascii字符的另一个路径时(因此不使用非ascii字符'Ö')我在JOM中遇到以下错误:

C:\Qt\Qt5.0.0\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
    cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtWidgets" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtGui" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Projekte\TMP\main.obj.764.31.jom
jom: C:\Projekte\PixelGame\src\com\pearstudios\texturepacker\TexturePacker-Debug\Makefile.Debug [debug\main.obj] Error 2
    cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtWidgets" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtGui" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Projekte\TMP\mainwindow.obj.764.31.jom
jom: C:\Projekte\PixelGame\src\com\pearstudios\texturepacker\TexturePacker-Debug\Makefile.Debug [debug\mainwindow.obj] Error 2
jom: C:\Projekte\PixelGame\src\com\pearstudios\texturepacker\TexturePacker-Debug\Makefile [debug] Error 2
19:53:52: The process "C:\Qt\Qt5.0.0\Tools\QtCreator\bin\jom.exe" terminated with exit code 2.
Error while building/deploying project TexturePacker (kit: Desktop Qt 5.0.0 MSVC2010 32bit (SDK))
When executing step 'Make'

使用NMAKE:

"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\nmake.exe" -f Makefile.Debug
    cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtWidgets" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtGui" -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Projekte\TMP\nm803F.tmp
NMAKE : fatal error U1077: ""C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"": Exit-Code "0xc0000135"
Stop.
NMAKE : fatal error U1077: ""C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\nmake.exe"": Exit-Code "0x2"
Stop.
19:56:54: The process "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\nmake.exe" terminated with exit code 2.
Error while building/deploying project TexturePacker (kit: Desktop Qt 5.0.0 MSVC2010 32bit (SDK))
When executing step 'Make'

我没有减少输出,因为命令行参数可能有问题。 Debug和Release版本之间也没有区别,我也在Windows 7 32bit上使用MSVC 2010而没有任何问题。我安装了新的MS.NET Framework 4.5和4。几个月前,我也使用Qt Creator和Qt 4.8而没有任何问题,但我删除它以为其他程序腾出空间。现在我再次需要Qt,但由于这个问题,它无法使用。

有人有想法吗?我可以尝试一下吗?

3 个答案:

答案 0 :(得分:2)

我最近很高兴地发现,当你有叹息的空格路径时,Qt(不记得哪个版本)不起作用。它只是在某些时候崩溃,而其他部分工作。没有可用的错误消息。出于这个原因,我会检查你路径中的“Ömercan”是否还有barfs。如果您愿意,请提交错误报告。

答案 1 :(得分:2)

Qt框架在二进制文件中编译了一些路径(qmake ...)。使用安装程序时,会使用您决定安装的路径将这些修补程序修补到“工具”。您无法将Qt安装从一个目录移动到另一个目录。编译时需要将Qt编译到要运行它的完全相同的目录中。也许这就是问题?

答案 2 :(得分:1)

你自己编译Qt 5了吗?

在过去,我遇到过Qt插件没有用正确的编译器标志编译的问题(例如:用MSVC构建的Qt Creator和带有MinGw的插件),DLL问题等。

因此,当我必须在Windows上处理Qt项目时,我通常首先从源代码编译Qt:http://qt-project.org/wiki/Building_Qt_5_from_Git

编译可能需要一段时间,具体取决于您的机器处理能力。