目前尝试使用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;
答案 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 对我有用。