CMake构建项目时VS Code找不到nmake,VS命令行可正常构建问题求助
问题根本原因
报错的核心是VS Code默认启动的终端没有加载Visual Studio的开发环境变量,导致系统无法识别nmake命令。VS自带的命令提示符启动时会自动加载对应版本、对应架构的VS开发环境配置,所以可以正常找到nmake执行构建。
解决方案
- 方案一:配置VS Code终端自动加载VS环境
打开VS Code设置,找到终端集成的配置项,给Windows终端添加启动参数,让它启动时自动执行VS的环境变量加载脚本。以VS 2022社区版为例:- 如果你用cmd作为默认终端,添加启动参数:
/k "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" - 如果你用PowerShell作为默认终端,添加启动参数:
-NoExit "& 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\Launch-VsDevShell.ps1'"
配置完成后重启VS Code终端,即可直接识别nmake命令。
- 如果你用cmd作为默认终端,添加启动参数:
- 方案二:手动执行环境加载脚本
每次需要构建前,先在VS Code的终端里运行对应你的VS版本的VsDevCmd.bat(cmd终端)或Launch-VsDevShell.ps1(PowerShell终端),加载完环境变量后再执行cmake构建命令即可。 - 方案三:更换CMake生成器
不需要绑定NMake生成器,可以根据你的工具链选择其他生成器规避这个问题,比如直接用Visual Studio生成器:cmake -G "Visual Studio 17 2022" -A arm ..(架构参数根据你的Pico开发板目标架构调整即可)。
额外注意
你的CMakeLists.txt里target_link_libraries配置项多写了冗余的adc_read参数,${PROJECT_NAME}已经指代你的项目名,不需要额外重复添加,虽然不影响运行但属于多余配置,可以删掉。
内容的提问来源于stack exchange,提问作者Artii
相关产品推荐
相关产品推荐

