VS2022配置CMake开发时Target System未列出WSL问题咨询
VS 2022 CMake开发无法识别WSL目标的解决方法
第一步:补装必备工作负载和组件
这是最常见的漏装问题,WSL对接能力不属于默认桌面开发组件:
- 打开Visual Studio Installer,找到你安装的VS 2022 17.1.3实例,点击「修改」
- 先在「工作负载」 tab 勾选使用C++的Linux和嵌入式开发,不要跳过这步
- 切到「单个组件」tab,搜索确认以下组件已勾选,缺失的话勾选后点击安装,安装完成后重启电脑:
- 适用于Linux和嵌入式开发的C++ CMake工具
- WSL调试支持
- 适用于Linux的C++工具集(最新稳定版即可)
第二步:修正CMake配置
你使用的17.1.3属于较早的VS2022正式版,官方指南里提到的Prefer using CMake Presets for configure, build, and test选项在该版本命名有调整,你选中的功能一致的替代选项是正确的,不需要纠结命名差异,只要开启CMake Presets支持即可。
配置完成后关闭VS,在Windows终端执行wsl --shutdown,等待10秒让WSL实例完全关闭。
第三步:手动添加WSL连接
重启VS后如果Target System下拉列表仍只有Local Machine,手动添加目标:
- 打开顶部菜单「工具」>「选项」>「跨平台」>「连接管理器」
- 点击「添加」按钮,连接类型选择「WSL」,VS会自动枚举本机已安装的WSL发行版,选中你要用来开发的发行版,点击保存
- 回到CMake项目界面,等待VS完成环境扫描和CMake缓存生成,再点开
Target System下拉列表就能看到对应的WSL目标了。
额外排查项(以上操作无效时检查)
- 打开WSL终端,确认发行版可以正常启动,执行
wsl -l -v确认对应发行版版本为WSL2,若为WSL1可执行wsl --set-version <发行版名称> 2转换版本后重试 - 不要将WSL发行版的默认用户设为root,VS对接WSL时不支持默认root用户的实例
- 项目代码尽量放在WSL的用户目录下(如
~/projects/your_project),不要放在/mnt挂载的Windows目录下,能大幅降低环境识别异常的概率。
内容的提问来源于stack exchange,提问作者RafaelJan
相关产品推荐
相关产品推荐

