CMake: Visual Studio 15 2017 could not find any instance of Visual Studio

Visual StudioCmake

Visual Studio Problem Overview


When I am trying to install CMake I get the error:

Visual Studio 15 2017 could not find any instance of Visual Studio.

I am using Windows 7 and Visual Studio 2017. The CMakeOutput.log file writes:

The system is: Windows - 6.1.7601 - AMD64

Any ideas?

Visual Studio Solutions


Solution 1 - Visual Studio

I ran into the same error and performed the following steps to resolve the issue:

  1. Open Visual Studio
  2. Go to Tools -> Get Tools and Features
  3. In the "Workloads" tab enable "Desktop development with C++"
  4. Click Modify at the bottom right

These steps resulted in the "Visual C++ tools for CMake" feature being installed, but the other optional C++ features included in this workload may also helpful for what you are trying to do.

After the Visual Studio updater finishes installing try re-running the command. You may need to open a new command window.

Solution 2 - Visual Studio

In my case, I installed Visual Studio, selecting the workloads and modules that I wanted, but I ignored the request to reboot, assuming that shutting down the computer at the end of the day and restarting it the following day would suffice. I was wrong.

The following day I tried a cmake build and got the "could not find any instance of Visual Studio" error. After several attempts to resolve, I re-ran the installer, made no changes to the configuration, and clicked Modify. This time I let it reboot the computer. The reboot took a long time. After which my cmake build worked.

Solution 3 - Visual Studio

I had the same issue "could not find any instance of Visual Studio" but with Visual Studio 2019 (Community Edition) and I just had to configure the VS160COMNTOOLS variable so that CMake correctly detects Visual Studio.

export VS160COMNTOOLS="/c/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/Tools"

(cf https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2016%202019.html)

With Visual Studio 15 2017, the variable you need should be VS150COMNTOOLS. (cf https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2015%202017.html)

NB: in my case, in a Travis-CI workflow, I installed Visual Studio using the commands (no need to reboot):

choco install visualstudio2019community
choco install visualstudio2019-workload-nativedesktop # required

With only the first package, CMake detection of VS2019 failed.

Solution 4 - Visual Studio

If you have already installed the workload Desktop development with C++ and still getting the following errors while using visual studio 2022 for flutter

Generator

Visual Studio 16 2019

could not find any instance of Visual Studio.

Building Windows application...

Exception: Unable to generate build files"

Solution: Follow these steps,

  1. Edit your_flutter_path\packages\flutter_tools\lib\src\windows\build_windows.dart, and change the constant on line 28 from Visual Studio 16 2019 to Visual Studio 17 2022
  2. Delete flutter_tools.stamp and flutter_tools.snapshot from your_flutter_path\bin\cache\
  3. Run flutter clean in the project

Solution 5 - Visual Studio

I was configuring a Jenkins build node and could successfully run CMake GUI manually but command line use or builds using the CMake plugin would fail with:

Visual Studio 16 2019 could not find instance of Visual Studio.

-A x64 parameter was added with no change in result.

The problem was that CMake could not determine the Windows SDK version. By adding CMAKE_SYSTEM_VERSION parameter CMake was then able to find Visual Studio.

-D CMAKE_SYSTEM_VERSION=10.0.18362.0 (use your windows SDK version)

Environment: windows 10 system build: 19042 CMAKE 3.19.4 VS 2019 Professional 16.8.4 Jenkins 2.235.1

Full command line that worked: "C:\Program Files\CMake\bin\cmake" -G "Visual Studio 16 2019" -D CMAKE_BUILD_TYPE=Release -A x64 -D CMAKE_SYSTEM_VERSION=10.0.18362.0

Solution 6 - Visual Studio

I had a similar issue where installing libzmq in my npm project was throwing the same error and that wasn't getting solved by enabling "msbuild" under "Desktop development with C++" in the Visual Studio installer.

My solution ended up being to reinstall the Windows build tools for npm with the following command.

npm install --global windows-build-tools

Note: Remember to run the command prompt (or whatever terminal you are using) as admin before running this.

Solution 7 - Visual Studio

If the CMake used to work with the installed Visual Studio and is broken someday, then the problem could be VS requires system reboot to complete some update.

For quick verification, rename HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\Setup\Reboot to like HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\Setup\Reboot.bak, then re-run cmake which should succeed. Don't forget to rename the registry back and reboot the system if this is the problem.

Solution 8 - Visual Studio

In my case, I was selecting different version of visual studio in that configuration dialog box whereas I installed different version. Do select the same version.

Solution 9 - Visual Studio

When using VS 2017, be aware that this is really VS 2015, and CMake identified it as VS 2017 2022 which is not the version of VS 2017 I had, that gave me this error. So the conclusion I offer is to try different versions, specifically the 2015 one.

Solution 10 - Visual Studio

Above solutions did not solve this issue for me. After installing node.js from https://nodejs.org/en/download/ apparently a correct version of windows-build-tools was installed

Solution 11 - Visual Studio

I reinstalled the Visual Studio 2019(my former one is 2017 version ) with all those settings required(my cmake version is 3.23.0),and it works. So try to install different versions.

Solution 12 - Visual Studio

if you have installed two or more Windows 10 SDK, delete them excluding latest one.

Solution 13 - Visual Studio

Try downloading the windows-build-tools package.

npm install --global --production windows-build-tools --vs2015

This step should be the end-all-be-all solution to fixing node-gyp problems. For most people, that’s true. NPM has a package called windows-build-tools that should automatically install everything you need to get node-gyp working, including the Microsoft build tools, compilers, Python, and everything else required to build native Node modules on Windows.

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
Questionbarkman345View Question on Stackoverflow
Solution 1 - Visual StudioMatthew OrlandoView Answer on Stackoverflow
Solution 2 - Visual StudioGraham SteelView Answer on Stackoverflow
Solution 3 - Visual StudioPascal H.View Answer on Stackoverflow
Solution 4 - Visual StudioIsrarView Answer on Stackoverflow
Solution 5 - Visual StudioSteven FuhrmanView Answer on Stackoverflow
Solution 6 - Visual StudioSaquibView Answer on Stackoverflow
Solution 7 - Visual StudioThomsonView Answer on Stackoverflow
Solution 8 - Visual StudioAakash ShivanshuView Answer on Stackoverflow
Solution 9 - Visual StudioToddView Answer on Stackoverflow
Solution 10 - Visual StudioCornelisView Answer on Stackoverflow
Solution 11 - Visual StudioNA-WenView Answer on Stackoverflow
Solution 12 - Visual StudioGuniView Answer on Stackoverflow
Solution 13 - Visual StudioAshish GuptaView Answer on Stackoverflow