我正在按照此 tutorial 在 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 是否有
-?
标志,因为它没有在微软文档网站上列出。
我尝试过定位在其他文件夹中,因为也许就是这种情况。但没有运气。
我尝试用其他错误解决方案来解决它,但没有成功。
解决方案是将
-G "MinGW Makefiles"
附加到 cmake -S . -B Build
命令。正如 Tsyvarev 建议的那样,我更多地研究了生成器,发现设置标志并不意味着将使用哪个生成器。所以手动设置标志解决了我的问题。
该错误与缺少
nmake
实用程序有关,该实用程序是使用“NMake Makefiles”生成器配置的 CMake 项目的构建工具。
您需要安装
nmake
,或指定(使用 -G
选项)其他生成器,该生成器可在您的平台 (Windows) 上使用并且您拥有为其构建的工具。其他发电机的可能选择包括例如“MinGW Makefiles”和“Visual Studio”家族。
以下是将
-G "MinGW Makefiles"
选项附加到 cmake
命令的方法:
打开命令行界面(例如,Windows 上的命令提示符或 macOS/Linux 上的终端)。
使用
cd
命令导航到 CMake 项目的根目录。例如:
cd /path/to/your/project
进入项目目录后,执行以下命令以使用 CMake 配置项目:
cmake -S . -B Build -G "MinGW Makefiles"
-S .
指定源目录(本例中为当前目录)。-B Build
指定构建目录(在本例中,名为“Build”)。-G "MinGW Makefiles"
选择要使用的生成器,在本例中为“MinGW Makefiles”,用于 Windows 上的 MinGW 编译器套件。运行
cmake
命令后,您可以继续使用所选的生成器构建项目。例如:
cmake --build Build
此命令将使用指定的生成器(在本例中为“MinGW Makefiles”)构建您的项目。
通过执行这些步骤,您应该能够使用 MinGW Makefiles 生成器配置和构建 CMake 项目。