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

问题描述 投票:0回答:3

我正在按照此 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 是否有

-?
标志,因为它没有在微软文档网站上列出。

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

我尝试用其他错误解决方案来解决它,但没有成功。

c cmake nmake
3个回答
20
投票

解决方案是将

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


6
投票

该错误与缺少

nmake
实用程序有关,该实用程序是使用“NMake Makefiles”生成器配置的 CMake 项目的构建工具。

您需要安装

nmake
,或指定(使用
-G
选项)其他生成器,该生成器可在您的平台 (Windows) 上使用并且您拥有为其构建的工具。其他发电机的可能选择包括例如“MinGW Makefiles”和“Visual Studio”家族。


0
投票

以下是将

-G "MinGW Makefiles"
选项附加到
cmake
命令的方法:

  1. 打开命令行界面(例如,Windows 上的命令提示符或 macOS/Linux 上的终端)。

  2. 使用

    cd
    命令导航到 CMake 项目的根目录。例如:

    cd /path/to/your/project
    
  3. 进入项目目录后,执行以下命令以使用 CMake 配置项目:

    cmake -S . -B Build -G "MinGW Makefiles"
    
    • -S .
      指定源目录(本例中为当前目录)。
    • -B Build
      指定构建目录(在本例中,名为“Build”)。
    • -G "MinGW Makefiles"
      选择要使用的生成器,在本例中为“MinGW Makefiles”,用于 Windows 上的 MinGW 编译器套件。
  4. 运行

    cmake
    命令后,您可以继续使用所选的生成器构建项目。例如:

    cmake --build Build
    

    此命令将使用指定的生成器(在本例中为“MinGW Makefiles”)构建您的项目。

通过执行这些步骤,您应该能够使用 MinGW Makefiles 生成器配置和构建 CMake 项目。

© www.soinside.com 2019 - 2024. All rights reserved.