Visual Studio 使用 C++ 的 Linux 开发(WSL)

https://devblogs.microsoft.com/cppblog/c-with-visual-studio-2019-and-windows-subsystem-for-linux-wsl/

其大致原理是:“ Visual Studio 通过 wsl.exe 在本地执行所有命令,并依赖安装在 /mnt 文件夹(例如 /mnt/c/Users...)下的 Windows 驱动器从 WSL 访问本地源文件。rsync 和 zip 允许 Visual Studio 将头文件从 WSL 实例提取到 Windows 文件系统以用于 IntelliSense。由于无法从 Windows 看到 WSL 的根文件系统,因此在 WSL 内部完成了本地 rsync 复制,以将头文件复制到 Windows 可见位置。这是 Visual Studio 为配置 IntelliSense for Linux 连接而执行的一次性操作。”

我们要将 WSL 安装配置为与 Visual Studio 一起使用,WSL 需要安装以下工具:编译器(GCC 或 Clang)、gdb、rsync 和 zip。如果还使用 CMake,那么还需要安装底层构建系统(Ninja 或 Unix Makefiles)。我们可以使用以下命令将它们安装:

sudo apt-get install g++ gdb make ninja-build rsync zip cmake

① 下载、安装和设置 Linux 工作负载

https://docs.microsoft.com/zh-cn/cpp/linux/download-install-and-setup-the-linux-development-workload?view=msvc-160

② 创建、运行和调试 Linux MSBuild C++ 项目

https://docs.microsoft.com/zh-cn/cpp/linux/create-a-new-linux-project?view=msvc-160

在解决方案资源管理器中右键单击项目并选择“属性”以打开项目属性页,在打开的对话框中,将看到“General”属性页。在此页面上,有一个“平台工具集”选项。将其从“GCC for Remote Linux”更改为“GCC for Windows Subsystem for Linux”。如果是使用 Clang 进行构建,那么可以选择“Clang for Windows Subsystem for Linux”工具集。

③ Linux 控制台

按F5开始调试,我们可以在 Linux 控制台窗口 中看到程序的输出。(不清楚为什么按Ctrl+F5却没有输出?)

我们可以使用 Linux 控制台 与应用进行交互,控制台将显示来自目标计算机的全部控制台输出并接收输入,然后将其发送到目标计算机。

C++ 与 Visual Studio 2019 和 WSL的更多相关文章

  1. C++ 与 Visual Studio 2019 和 WSL(四)——库组件

    C++ 与 Visual Studio 2019 和 WSL (库组件) Reference 在 C++ 项目中使用库和组件 | Microsoft Docs 演练:创建和使用自己的动态链接库 (C+ ...

  2. C++ 与 Visual Studio 2019 和 WSL(二)

    终端 A more integrated terminal experience | Visual Studio Blog (microsoft.com) Say hello to the new V ...

  3. C++ 与 Visual Studio 2019 和 WSL(三)

    头文件 如果不小心修改了 Linux C/C++ 标准头文件,可以下面这样操作进行恢复: 项目 → 重新扫描解决方案

  4. C++ 与 Visual Studio 2022 和 WSL(五)——WSL2

    Build and Debug C++ with WSL 2 Distributions and Visual Studio 2022 References Build and Debug C++ w ...

  5. Visual Studio 2019 发布活动 - 2019 年 4 月 2 日

    Visual Studio 2019 发布活动 2019 年 4 月 2 日,星期二 | 上午 9:00 (PT) 围观: https://visualstudio.microsoft.com/zh- ...

  6. Visual Studio 2019 正式发布,重磅更新,支持live share

    如约而至,微软已于今天推出 Visual Studio 2019 正式版,一同发布的还有 Visual Studio 2019 for Mac. Visual Studio 2019 下载地址:htt ...

  7. “宇宙最强” IDE,Visual Studio 2019 正式发布

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 本文由葡萄城翻译并发布 今天凌晨Visual Studio 2019已经正式发布,现在已经可以下载了.使用V ...

  8. Visual Studio 2019 使用 Live Share

    一.前言 Visual Studio 2019 在今天发布(北京时间)了,这次带来了一个比较有趣的 Live Share 功能,使用它可以进行更好的协作开发.主要功能: 更多资料可看官方介绍: Vis ...

  9. Visual Studio 2019 正式版 更新内容

    大早上更新了Visual Studio 2019, 试用一下 一.界面改变 1.项目创建界面 首先启动界面改变就不说了,创建项目的界面做了较大改变,感觉在向vs for mac 靠拢 ,而后者感觉像x ...

随机推荐

  1. 微信小程序 image 组件 src 请求不能设置 header 的问题

    只能先 wx.downloadFile 得到 tempFilePath,然后设置 src = tempFilePath

  2. MeteoInfo-Java解析与绘图教程(四)

    MeteoInfo-Java解析与绘图教程(四) 上文我们说到,将地图叠加在色斑图上,但大部分都是卫星绘图,现在开始讲解micaps数据绘图,同样也是更多自定义配置 首先我们解析micaps数据,将之 ...

  3. Java基础(三)——内部类

    一.内部类 内部类(Inner Class)就是定义在一个类里面的类.与之对应,包含内部类的类被称为外部类.内部类可以用private修饰. 1.为什么要定义内部类?或者内部类的作用是什么? 内部类提 ...

  4. 【SpringCloud技术专题】「Eureka源码分析」从源码层面让你认识Eureka工作流程和运作机制(上)

    前言介绍 了解到了SpringCloud,大家都应该知道注册中心,而对于我们从过去到现在,SpringCloud中用的最多的注册中心就是Eureka了,所以深入Eureka的原理和源码,接下来我们要进 ...

  5. [源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎

    [源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎 目录 [源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎 0x00 摘要 0x01 前言 1.1 ...

  6. MongoDB(1)- 入门介绍

    MongoDB 数据库 MongoDB 是一个文档数据库,旨在简化开发和扩展 MongoDB 中的记录是一个文档 Document,是由字段和值对组成的数据结构 MongoDB 文档类似于 JSON ...

  7. Sa-Token之注解鉴权:优雅的将鉴权与业务代码分离!

    Sa-Token之注解鉴权:优雅的将鉴权与业务代码分离! Sa-Token 介绍: Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证.权限认证.Session会话.单点登录. ...

  8. Java 语法学习2

    Java基础语法二 类型转换 public class demo03 { public static void main(String[] args) { int i=128; byte a=(byt ...

  9. golang isPowerOfTwo判断是否是2的幂

    iota.go   strconv包 func isPowerOfTwo(x int) bool { return x & (x -1) } 了解n&(n-1)的作用如下: n& ...

  10. Docker部署启动错误,需要手动进入Docker的容器里,启动程序,排查错误

    #docker-compose build --no-cache //重新创建容器,不管有没有 #docker-compose up #docker-compose up -d //后台启动并运行容器 ...