'cl' is not recognized as an internal or external command,

C++Qt

C++ Problem Overview


I am trying to compile a hello world program in Qt Using Qt Creator.

I am getting 'cl' is not recognized as an internal or external command.

I am using Windows 7 and Both Vs 2008 and 2010 installed in it. When I use Mingw it is compiling fine but if use vs 2008 it is giving this error.

After Setting Env Path =..;..;C:\Program Files\Microsoft Visual Studio 9.0\VC\bin also it is showing the same error.

C++ Solutions


Solution 1 - C++

That error happens because cl isn't in your path. You need to add it there. The recommended way to do this is to launch a developer command prompt.

Quoting the article Use the Microsoft C++ toolset from the command line:

> 1. On the desktop, open the Windows Start menu. In Windows 11, choose the All apps button to open the list of installed apps. In Windows 10, > the list is open to the left. Scroll down the list to find and open > the folder (not the app) for your version of Visual Studio, for > example, Visual Studio 2022. > > 1. In the folder, choose the Developer Command Prompt for your version of Visual Studio. This shortcut starts a developer command > prompt window that uses the default build architecture of 32-bit, > x86-native tools to build 32-bit, x86-native code. If you prefer a > non-default build architecture, choose one of the native or cross > tools command prompts to specify the host and target architecture. > > For an even faster way to open a developer command prompt, enter > developer command prompt in the desktop search box. Then choose the > result you want.

As the article notes, there are several different shortcuts for setting up different toolsets - you need to pick the suitable one.

If you already have a plain Command Prompt window open, you can run the batch file vcvarsall.bat with the appropriate argument to set up the environment variables. Quoting the same article:

> 1. At the command prompt, use the CD command to change to the Visual Studio installation directory. Then, use CD again to change to the > subdirectory that contains the configuration-specific command files. > For Visual Studio 2019 and Visual Studio 2017, use the > VC\Auxiliary\Build subdirectory. For Visual Studio 2015, use the VC > subdirectory. > > 1. Enter the command for your preferred developer environment. For example, to build ARM code for UWP on a 64-bit platform, using the > latest Windows SDK and Visual Studio compiler toolset, use this > command line: > > > vcvarsall.bat amd64_arm uwp >

From the article, the possible values for the first argument are the following:

  • x86 (x86 32-bit native)

  • x86_amd64 or x86_x64 (x64 on x86 cross)

  • x86_arm (ARM on x86 cross)

  • x86_arm64 (ARM64 on x86 cross)

  • amd64 or x64 (x64 64-bit native)

  • amd64_x86 or x64_x86 (x86 on x64 cross)

  • amd64_arm or x64_arm (ARM on x64 cross)

  • amd64_arm64 or x64_arm64 (ARM64 on x64 cross)

Solution 2 - C++

I had the same problem. Try to make a bat-file to start the Qt Creator. Add something like this to the bat-file:

call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"  
"C:\QTsdk\qtcreator\bin\qtcreator" 

Now I can compile and get:

jom 1.0.8 - empower your cores
11:10:08: The process "C:\QTsdk\qtcreator\bin\jom.exe" exited normally.

Solution 3 - C++

Make sure you restart your computer after you install the Build Tools.

This was what was causing the error for me.

Solution 4 - C++

I had the same problem and I solved it by switching to MinGW from MSVC2010.

Select the Project Tab from your left pane. Then select the "Target". From there change Qt version to MinGW instead of VC++.

Solution 5 - C++

You will have to set environmental variables properly for each compiler. There are commands on your Program menu for each compiler that does that, while opening a command prompt.

Another option is of course to use the IDE for building your application.

Solution 6 - C++

I had this problem because I forgot to select "Visual C++" when I was installing Visual Studio.

To add it, see: https://stackoverflow.com/a/31568246/1054322

Solution 7 - C++

I had the same issue for a long time and I spent God knows how much on it until I accidentally figured what to do. This solution worked on windows 10. All you need to do is to add C:\WINDOWS\System32 to Path variable under User Variables in Environmental Variables... Note that if you add this to the system variables, it may also work. But, that didn't work for me.

Solution 8 - C++

You can use Command prompt for VS 2010 and then select the path that your boost located. Use "bootstrap.bat", you can successfully install it.

Solution 9 - C++

For me, this was related to the scenario described by Smi, with the difference being that vcvarsall.bat itself was failing due to an invalid path.

This was cause by line-breaks within the path, which meant vcvarsall.bat couldn't find the common tools directory for some reason.

Solution 10 - C++

I sometimes get this problem when changing from Debug to Release or vice-versa. Closing and reopening QtCreator and building again solves the problem for me.

Qt Creator 2.8.1; Qt 5.1.1 (MSVC2010, 32bit)

Solution 11 - C++

I faced this error too, checked that there are multiple versions of common tool variables for visual studio in my environment variables (VS120COMNTOOLS, VS110COMNTOOLS and so on) for different visual studio versions.

I removed the ones I did not need from the environmental variables and the issue was resolved.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionVikram RanabhattView Question on Stackoverflow
Solution 1 - C++SmiView Answer on Stackoverflow
Solution 2 - C++IvarView Answer on Stackoverflow
Solution 3 - C++DunskyDouglasView Answer on Stackoverflow
Solution 4 - C++Jubayer ArefinView Answer on Stackoverflow
Solution 5 - C++Bo PerssonView Answer on Stackoverflow
Solution 6 - C++MatrixManAtYrServiceView Answer on Stackoverflow
Solution 7 - C++nmnmView Answer on Stackoverflow
Solution 8 - C++LilyView Answer on Stackoverflow
Solution 9 - C++user3898942View Answer on Stackoverflow
Solution 10 - C++mathiasfkView Answer on Stackoverflow
Solution 11 - C++PoojaView Answer on Stackoverflow