配置 CMake 项目时出错:运行“nmake”“-?”失败

Error while configuring CMake project: Running 'nmake' '-?' failed

提问人:luka_bur3k 提问时间:9/27/2021 最后编辑:Tsyvarevluka_bur3k 更新时间:9/22/2023 访问量:33154

问:

我正在按照本教程在 Windows 上构建 GLFW,并且在运行时出现错误:cmake -S . -B Build

PS ~\glfw-3.3.2\GLFW> cmake -S . -B Build
CMake Error at CMakeLists.txt:3 (project):
  Running

   'nmake' '-?'

  failed with:

   The system cannot find the file specified


-- Configuring incomplete, errors occurred!
See also "~/glfw-3.3.2/GLFW/Build/CMakeFiles/CMakeOutput.log".

输出日志几乎完全是空的,只有一行与我的 Windows 版本。 我没有发现任何与我匹配的讨论或问题。我什至不知道 nmake 是否有标志,因为它没有在 microsoft docs 网站上列出。-?

我试过在其他文件夹中定位,因为也许是这种情况。但没有运气。

我尝试使用其他错误解决方案解决它,但无济于事。

c cmake nmake

评论

1赞 Tsyvarev 9/27/2021
“我什至不知道 nmake 有标志吗” - 这很容易检查:只需在终端中运行即可。-?nmake -?
1赞 luka_bur3k 9/27/2021
事情正在运行结果,您可以认为也许我需要安装,但是cmake对于我自己编写的其他项目正常工作,当我刚刚尝试构建GLFW时,错误无缘无故地出现。nmake -?'nmake' is not recognized as an internal or external command,operable program or batch file.nmake
1赞 Tsyvarev 9/27/2021
“cmake 在我自己编写的其他项目中正常工作” - 对于其他项目,您可能使用了除 .例如,你已经将 Visual Studio 用于那些成功的项目。NMake Makefiles
0赞 luka_bur3k 10/2/2021
如果我错了,请纠正我,但我相信我没有像你所说的那样使用任何发电机。我根据项目中的教程编写了 CmakeLists.txt,并使用 cmake 命令运行它。我在 VSC 中编码,所以也许在不确定的地方使用了生成器。但是我在编写 makefile 时确实遇到了这个错误,并且在配置CMAKE_CXX_COMPILER标志后它自己解决了,在这个 GLFW 项目中,我也配置了该标志,但这次它没有帮助。也许错误在其他地方,我正在研究它,希望我能找到答案。感谢您的建议。:D

答:

18赞 luka_bur3k 10/2/2021 #1

解决方案是附加到命令。正如 Tsyvarev 所建议的那样,我更多地研究了生成器,发现设置标志并不意味着将使用哪个生成器。因此,手动设置标志为我解决了问题。-G "MinGW Makefiles"cmake -S . -B Build

评论

0赞 Some Guy 3/10/2023
太棒了,这是我问题的完美解决方案。如果运行此标志一次,则在生成其他项目时是否必须再次指定此标志?
6赞 Tsyvarev 12/17/2022 #2

该错误是关于缺少实用程序,它是配置了“NMake Makefiles”生成器的 CMake 项目的构建工具。nmake

您需要安装 ,或指定(使用选项)其他生成器,该生成器在您的平台 (Windows) 上可用,并且您已为其构建了工具。其他生成器的可能选择包括“MinGW Makefiles”和“Visual Studio”系列。nmake-G