可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I just downloaded Qt SDK 4.8.1 and, after installing it, I simply tried to compile a default C++ project, but I got this strange error.
16:50:24: Running build steps for project test...
16:50:24: Configuration unchanged, skipping qmake step.
16:50:24: Starting: "C:\QtSDK\QtCreator\bin\jom.exe"
cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"........\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\QtCore" -I"........\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\QtGui" -I"........\QtSDK\Desktop\Qt\4.8.1\msvc2008\include" -I"........\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\ActiveQt" -I"debug" -I"." -I"..\test" -I"." -I"........\QtSDK\Desktop\Qt\4.8.1\msvc2008\mkspecs\win32-msvc2008" -Fodebug\ @C:\DOCUME~1\dfuser\IMPOST~1\Temp\main.obj.1464.0.jom
cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"........\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\QtCore" -I"........\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\QtGui" -I"........\QtSDK\Desktop\Qt\4.8.1\msvc2008\include" -I"........\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\ActiveQt" -I"debug" -I"." -I"..\test" -I"." -I"........\QtSDK\Desktop\Qt\4.8.1\msvc2008\mkspecs\win32-msvc2008" -Fodebug\ @C:\DOCUME~1\dfuser\IMPOST~1\Temp\mainwindow.obj.1464.0.jom
C:\QtSDK\QtCreator\bin\jom.exe -f Makefile.Debug
jom: C:\Documents and Settings\dfuser\Desktop\test-build-desktop-Qt_4_8_1_for_Desktop_-MSVC2008_Qt_SDK__Debug\Makefile.Debug [debug\main.obj] Error 2
jom 1.0.8 - empower your cores
jom: C:\Documents and Settings\dfuser\Desktop\test-build-desktop-Qt_4_8_1_for_Desktop_-MSVC2008_Qt_SDK__Debug\Makefile [debug] Error 2
16:50:24: The process "C:\QtSDK\QtCreator\bin\jom.exe" exited with code 2.
Error while building project test (target: Desktop)
When executing build step 'Make'
Does anyone know what is the cause?
I don't know if it's relevant or not, but before getting this error I got the common error about cl
nor found; I solved adding the path to cl
in the project settings.
回答1:
I've solved it : try to execute cl.exe directly (C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl) if you get a dll error, it's because your environment is not set correctly. So, you need to call vcvarsall.bat before lunch QtCreator. To do that each time, you can create a .bat file which contains the following:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat
{Path to QtCreator}\qtcreator
(Correct the paths if your configuration is not the same)
You will need to execute this script to get QtCreator with the right environment variables, otherwise, the dll error appears but is not reported, and you get this "Error : 2"
回答2:
I had somewhat similar problem in Qt 5.3
21:22:03: Running steps for project Server... 21:22:03: Configuration unchanged, skipping qmake step. 21:22:03: Starting: "C:\Qt\Qt5.3.2\Tools\mingw482_32\bin\mingw32-make.exe" C:\make\bin; -f Makefile.Debug Makefile:34: recipe for target 'debug' failed process_begin: CreateProcess(NULL, C:\make\bin; -f Makefile.Debug, ...) failed. make (e=2): The system cannot find the file specified. mingw32-make: *** [debug] Error 2 21:22:05: The process "C:\Qt\Qt5.3.2\Tools\mingw482_32\bin\mingw32-make.exe" exited with code 2. Error while building/deploying project Server (kit: Desktop Qt 5.3 MinGW 32bit) When executing step "Make"
I did the following to get rid of the error.
From the left pane of the Qt,
Projects > Build > Build Environment: Check the Clear System environment
回答3:
Okay so you can do this.
Go to Start->Choose Qt folder->minigw
When you start it you will be loaded int cmd, after that locate your project. Then you can type: qmake and after that make and then you have built project
If it doesn't work try to go trough the DOCUMENTATION to see how to use minigw when you are using Qt.
If you need anymore help let me know I'll be glad to help you.
EDIT:
One more thing. In your question problem may be connected to environmental variables. As they are not probably set to show to the make command. If you don't want to bother with minigw you can maybe check your environmental variables if they have set path: to make
回答4:
In Linux terminal:
sudo apt-get install build-essential cmake libqt4-dev
I'm sorry I don't know why this code works but I had the same problem in Linux and I solved it this way.