Windows编译GLFW执行cmake时提示nmake -?运行失败如何解决?
问题根因
报错的核心原因是CMake默认选择了NMake作为构建生成器,但当前运行命令的终端环境没有加载Visual Studio的开发工具环境变量,系统找不到nmake.exe程序。你查到的nmake没有-?参数的问题属于误判:只有系统找不到nmake程序时才会抛出文件不存在错误,和参数本身无关。
解决方案
方案1:使用Visual Studio生成器(推荐,无需调整终端环境)
如果你本地已经安装了Visual Studio,直接在cmake命令中指定对应版本的VS生成器即可,不需要依赖nmake:
- 如果你使用Visual Studio 2022,执行命令:
cmake -S . -B Build -G "Visual Studio 17 2022" -A x64
- 如果你使用Visual Studio 2019,执行命令:
cmake -S . -B Build -G "Visual Studio 16 2019" -A x64
其中-A x64指定生成64位程序,需要32位可替换为Win32。
方案2:保留NMake生成器,调整终端环境
如果你确实需要使用NMake构建,需要在Visual Studio专属的开发终端中运行命令:
- 打开Windows开始菜单,找到你安装的Visual Studio对应目录下的x64 Native Tools Command Prompt for VS 2022(对应你安装的VS版本调整即可)
- 在打开的终端中进入GLFW源码目录,再执行原本的
cmake -S . -B Build命令即可,该终端已经预配置了nmake等开发工具的环境变量。
内容的提问来源于stack exchange,提问作者luka_bur3k
相关产品推荐
相关产品推荐

