You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行cmake ..时遇CMAKE_Project_COMPILER未设置及nmake找不到错误

问题解决方法

错误原因分析

  1. Project命令语法错误:project(CXX Project)写法颠倒,CMake中project命令的正确格式是project(项目名 支持的语言),参数顺序错误导致CMake无法正确识别项目配置,进而引发编译器未设置的报错。
  2. CMake生成器不匹配:你配置了MinGW编译器,但CMake默认使用Visual Studio相关生成器(nmake),而系统中未安装或未配置nmake的环境变量,因此提示找不到指定文件。

修复步骤

1. 修正CMakeLists.txt中的project命令

将原代码里的:

project(CXX Project)

修改为:

project(Project CXX)

这样CMake能正确识别项目名称为Project,并启用C++语言支持。

2. 指定MinGW生成器运行CMake

执行cmake命令时,明确指定使用MinGW生成器,命令如下:

cmake .. -G "MinGW Makefiles"

如果MinGW的make工具不在系统环境变量中,可额外指定路径:

cmake .. -G "MinGW Makefiles" -DCMAKE_MAKE_PROGRAM="C:/mingw64/bin/mingw32-make.exe"

3. 修复后的完整CMakeLists.txt

set(CMAKE_CXX_COMPILER "C:/mingw64/bin/g++")
set(CMAKE_C_COMPILER "C:/mingw64/bin/gcc")

project(Project CXX)

add_subdirectory(glfw/)

add_executable(${PROJECT_NAME} Main.cpp)
target_include_directories(${PROJECT_NAME} PUBLIC glfw)
target_link_libraries(${PROJECT_NAME} PUBLIC glfw)

额外提示

  • 确保MinGW的bin目录(C:/mingw64/bin)已添加到系统环境变量,方便CMake直接找到编译器和make工具。
  • 若问题依旧,删除build目录下所有文件后重新执行cmake命令,避免旧缓存配置干扰。

内容的提问来源于stack exchange,提问作者David Kevin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 00:48:20