[SOLVED] Qt 5.2.1 for Windows 64-bit VS 2012. Can't compile a project
-
Hi JKSH, thanks for the clarification!
I guess, you and zibicoder are both correct: I downloaded SDK 8.0 from Windows SDK archive (http://msdn.microsoft.com/en-us/windows/desktop/ff851942.aspx) and selected only the Debugging Tools for Windows checkbox during the istallation, as described here:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff551063(v=vs.85).aspxNow I have the Debuggers folder under C:\Program Files (x86)\Windows Kits\8.0, warning in Kits tab disappeared and debuggers were autodetected by Qt:
http://s017.radikal.ru/i414/1402/2c/9fb620eaf5ef.jpg
http://s020.radikal.ru/i715/1402/72/715a27038aa2.jpgHowever, it did not resolve my issue with building a project, and I still get the same error message: http://s017.radikal.ru/i428/1402/97/79891a669488.jpg
Here is the screenshot with amd64 Compiler selected:
http://i074.radikal.ru/1402/2f/cd04c43db647.jpg -
OK, I searched Qt Forums for "‘cl’ is not recognized as an internal or external command, operable program or batch file" and found out that I'm not alone. General comments on the issue - some paths are missing. Found cl.exe and added "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64" to the PATH variable. After that got the next error: "The program can't start because mspdb110.dll is missing from your computer. Try reinstalling the program to fix this problem".
Searched Qt Forums for 'mspdb110.dll' error, found a thread with the same recommendations, located mspdb110.dll, added "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE" to the PATH, got "C1083: Cannot open include file: 'stddef.h': No such file or directory C:\Qt\Qt5.2.1\5.2.1\msvc2012_64\include\QtCore\qglobal.h".
In this case locating stddef.h and adding "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include" to the PATH didn't bring any result. Then I just copied stddef.h and pasted it into "C:\Qt\Qt5.2.1\5.2.1\msvc2012_64\include\QtCore" - got the next C1083 error: crtdefs.h is missing. Copying it into "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include" yielded the next C1083 error: sal.h is missing. Um-m-m... Am I on the right track?
I also found "this recommendation":https://qt-project.org/forums/viewthread/23977/#111883 on the same "'cl' is not recognized" issue, but completely unclear if the workaround with manually created vcvars64.bat is still valid for VS 2012 (I have vcvarsx86_amd64.bat in "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64" folder, and it's obviously not empty...)
-
Solution so far ("THANKS to Yuri Krugloff":http://forum.tver-soft.org/index.php/topic,852.msg913.html#msg913):
- Create empty start.cmd file
- Add the following code into it
@call "c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
start "" "c:\Qt\Qt5.2.1\Tools\QtCreator\bin\qtcreator.exe"@ - Run start.cmd
- (Optionally) Enjoy
-
Thank you for sharing your solution!
I'm still puzzled though -- Qt Creator should have called VCVARSALL automatically. If you go to Tools -> Options -> Build & Run -> Compilers and click on your MSVC compiler(s), do you see VCVARSALL in "Initialization"?
-
Yes, I do (see screenshot in "my comment above":http://qt-project.org/forums/viewreply/162482/)...
-
[quote author="Fuzzy Barsik" date="1392907503"]Yes, I do (see screenshot in "my comment above":http://qt-project.org/forums/viewreply/162482/)...[/quote]Ah yes, you already posted it before. Sorry, I forgot about it.
-
Fuzzy Barsik, unfortunately you posted workaround, not solution, because qt creator in normal condition must call vcvarsall.cmd itself.
The same problem described here http://qt-project.org/forums/viewthread/32276/#163680
I reported bug https://bugreports.qt-project.org/browse/QTCREATORBUG-11539
-
[quote author="Fuzzy Barsik" date="1392641564"][/quote]
I found one moment that may became cause of the problem. This is profile name. On my work machine where qt creator works as expected I have latin profile name (APPDATA=C:\Users\Stranger\AppData\Roaming), but on home machine there is cyrillic profile name (APPDATA=C:\Users\Толик\AppData\Roaming)
What about your profile name?
-
Hi AnatolyS,
My Windows profile name is in cyrillic. -
[quote author="Fuzzy Barsik" date="1393149575"]Hi AnatolyS,
My Windows profile name is in cyrillic.[/quote]It seems this is only difference that I can observe beetween problem and work environments.
-
In fact the CL not in path problem has been solved in my case by installing the Windows 7 SDK (I only selected a part of the components - excluded .NET cause I don't need it)
I mention that I already had the Visual Studio 2010 installed at the point when the error appeared. Together with the Windows SDK came a new compiler that solved the problem - and as a bonus I have now also the Windows Debugging Tools
-
[quote author="asergiu" date="1394798550"]In fact the CL not in path problem has been solved in my case by installing the Windows 7 SDK (I only selected a part of the components - excluded .NET cause I don't need it)
[/quote]If you have several toolchains, it does not help. Qt Creator must call appropriate vcvarsall.bat itself according to current project kit. That's the problem.
-
I'm not sure if this helps or not:
I uninstalled some old versions of SQL Server, and that broke my MSVC installation -- Qt Creator can auto-detect MSVC, but gave me “‘cl’ is not recognized as an internal or external command, operable program or batch file”.
It was fixed when I ran the MSVC installer to repair it.
-
Daniel Teske has found workaround: https://bugreports.qt-project.org/browse/QTCREATORBUG-11539
You should redirect TMP to path without non-latin characters. That works fine.
-
@AnatolyS I tried that, nothing changed.