user7322714
user7322714

Reputation:

MinGW sh.exe must NOT be in your path

Currently trying to setup my C development environment on windows with MinGW and it looks like CMAKE is giving me the following error:

sh.exe was found in your PATH, here:
C:/Program Files/Git/user/bin/sh.exe
For MinGW make to work correctly sh.exe must NOT be in your path.
Run cmake from a shill that does not have sh.exe in your PATH.
If you want to use a UNIX shell, then use MSYS Makefiles

That error is being thrown inside of CLion IDE. I am not sure if I need to change settings inside of CLion or what. I have looked at my windows path and I do not see any reference to sh.exe.

My path is as follows:

C:\Program Files (x86)\Razer Chroma SDK\bin;C:\Program Files\Razer Chroma SDK\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Nodist\bin;C:\Users\wesle\AppData\Local\Microsoft\WindowsApps;

Upvotes: 44

Views: 32533

Answers (6)

Anis R.
Anis R.

Reputation: 6912

Not exactly this setup (working from terminal here), but got the same error. In my case, sh.exe was not in my path, but was built into the terminal I was using (cmder). Switching to regular CMD worked for me.

Upvotes: 0

sourcedelica
sourcedelica

Reputation: 24040

I like @Elia's answer, but if you are using CLion, it uses the CodeBlocks - MinGW Makefiles CMake generator which doesn't have the sh.exe checking problem. Add this to your CMake line:

-G "CodeBlocks - MinGW Makefiles"

Upvotes: 0

A.Najafi
A.Najafi

Reputation: 691

Just add

set(DCMAKE_SH="CMAKE_SH-NOTFOUND")

to your

CMakeLists.txt file

Upvotes: 6

罗通侯君
罗通侯君

Reputation: 11

It's the problem of your git's path.
I assume you are using the Clion, just check if you have added %gitpath%\binto your path, that's where the problem is. You should use %gitpath%\cmdinstead, typically for me it's D:\Git\cmd.Since the former one includes sh.exe in your path which results in the error.

Upvotes: 1

Elia
Elia

Reputation: 1443

For me, this simple parameter passed to cmake has worked -DCMAKE_SH="CMAKE_SH-NOTFOUND".

Upvotes: 77

lucrib
lucrib

Reputation: 459

Check you really do not have sh.exe in your PATH by opening a Windows Command Line and typing where sh.exe. If you have this file in your path, the command will return its path (then you should remove it from your PATH) else if windows return it was not found, try to clean up the folder CMakeFiles and a file name CMakeCache.txt somewhere inside your project folder.

Upvotes: 7

Related Questions