MinGW sh.exe不得在您的路径中

时间:2016-12-26 15:23:24

标签: windows cmake mingw clion

目前尝试使用MinGW在Windows上设置我的C开发环境,看起来CMAKE给了我以下错误:

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

该错误正在CLION IDE中抛出。我不确定我是否需要更改CLion内部的设置或者什么。我查看了我的Windows路径,但没有看到任何对sh.exe的引用。

我的路径如下:

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;

7 个答案:

答案 0 :(得分:48)

对我来说,传递给cmake的这个简单参数已经工作-DCMAKE_SH="CMAKE_SH-NOTFOUND"

答案 1 :(得分:6)

通过打开 Windows命令行并输入sh.exe,检查PATH中是否真的没有where sh.exe。如果您的路径中有此文件,该命令将返回其路径(然后您应将其从PATH中删除)否则如果窗口返回未找到,请尝试清理文件夹CMakeFiles和项目文件夹中某处的文件名CMakeCache.txt

答案 2 :(得分:1)

这是您的git路径的问题。
我假设您正在使用Clion,只需检查是否已向路径中添加%gitpath%\bin,这就是问题所在。相反,您应该使用%gitpath%\cmd,通常对我来说是D:\Git\cmd。由于前一个在您的路径中包含sh.exe会导致错误。

答案 3 :(得分:1)

只需添加

  

set(DCMAKE_SH="CMAKE_SH-NOTFOUND")

到您的

  

CMakeLists.txt文件

答案 4 :(得分:0)

如果已安装git,只需将 gitPath / bin 添加到用户或系统环境变量PATH。

例如,我将 C:\ Program Files \ Git \ bin 添加到我的User PATH环境变量中。

答案 5 :(得分:0)

我喜欢@Elia的答案,但是如果使用的是CLion,它将使用CodeBlocks - MinGW Makefiles CMake生成器,该生成器没有sh.exe检查问题。将此添加到您的CMake行:

-G "CodeBlocks - MinGW Makefiles"

答案 6 :(得分:0)

不完全是这个设置(从这里的终端工作),但得到了同样的错误。就我而言,sh.exe 在我的路径中,而是内置在我使用的终端 (cmder) 中。切换到常规 CMD 对我有用。