在 CLion 中运行 Makefile。 Makefile 是 Stockfish(chess) 的,在这里 https://github.com/official-stockfish/Stockfish/blob/master/src/Makefile
我正在 Windows 10 系统上尝试此操作。 为什么make找不到文件?是linux vs windows上\ vs /的分隔符问题吗?
完全错误
Error running 'Makefile': Cannot run program "\usr\bin\make" (in directory "C:\Users\anmol\Desktop\Coding\stockfish\src"): CreateProcess error=2, The system cannot find the file specified
我的 CLion 版本内置了 makefile 支持,并且我通过 cygwin 安装了工具链编译器。
答案 0 :(得分:0)
JetBrains 错误跟踪系统中的 this comment 中给出了您的问题的完整说明。
Cannot run program "\usr\bin\make"
错误源自与 CLion 捆绑在一起的 Makefile
language plug-in,也可以添加到其他 JetBrains 的 IDE。尽管已捆绑,但该插件最初是第 3 方插件,并且不属于 CLion 中的 Makefile
支持:在某种程度上,它补充了对 Makefile
的内置支持{1}} 个项目(例如:通过启用语法高亮显示),但有一些与之正交的功能。
“正交”功能尤其是插件运行Make的方式(当您从 Makefile
编辑器中单击 gutter 图标 时) .这与CLion中的Toolchains无关,需要单独配置。
您需要在文本字段中输入完整的 Windows 路径(例如:C:\cygwin64\bin\make.exe
)并检查Use Cygwin< /em> 框(对于 Cygwin)或保持它未选中(对于 MinGW)。
这将使您能够从 Makefile
编辑器调用 Make 目标(使用带有插件的 any JetBrains IDE安装,而不仅仅是 CLion)。
答案 1 :(得分:0)
解决方法:
在 CLion Makefile 项目中,有两种“配置”类型可用: “Makefile 目标”和“Makefile 应用程序”。如果您编辑 “Makefile 应用程序” 配置,您将看到一个名为“可执行文件:”
的字段“可执行文件:”可以是任何 Linux 命令,包括 make 本身。对于“Makefile Application”(不是“Makefile Target”),该命令使用 wsl.exe 正确启动,以便该命令在 WSL 而不是 Windows 中运行。
(“Makefile Target”的问题显然是一个 CLion/plugin 错误,即“\usr\bin\make”不是使用 wsl.exe 运行的,所以它在 Windows 中运行,所以 Windows 说它不能找到它,这是意料之中的,因为它最初不应该在 Windows 中运行!:-) )