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. 关于Cloudfront能否接入NLB的讨论

    之前讨论过四层应用 是无法通过七层负载负载均衡器转发流量的,因为ALB监听的是Http/s协议,TCP/UDP的请求到了ALB无法识别,ALB在第七层做判断,数据包只有四层,会无法判断转发的目标.相反 ...

  2. K8S日常运维中关于“ImagePullBackOff”报错的处理思路分析

    故障案例: 发现故障:kubectl get pod -n kube-system -owide|grep -v "Running"NAME READY STATUS RESTAR ...

  3. 性能测试工具JMeter 基础(三)—— 创建测试计划

    如何创建一个完整的测试计划? 安装好JMeter后,通过根目录下的bin目录中的jmeter.bat启动JMeter 添加线程组(Thread Group) 在 Test Plan 鼠标右键 Add- ...

  4. MySQL——MySQL初始化配置文件

    初始化配置文件(影响服务器和客户端程序) 1.MySQL初始化配置加载顺序: 命令行 ----> 初始化配置文件 ----> 预编译选项 2.MySQL初始化配置文件加载顺序: (1)/e ...

  5. KMP算法的改进

    KMP算法的改进 KMP算法已经在极大程度上提高了子符串的匹配效率,但是仍然有改进的余地. 1. 引入的情景 下面我们就其中的一种情况进行分析: 主串T为"aaaabcde-" 子 ...

  6. C# List集合类常用操作:四、删除

    Clear() 从 List<T> 中移除所有元素. List<Employees> employees = new List<Employees>(); empl ...

  7. 枚举类enum

    一.枚举类 package com.xxx.xf.common.enums; import com.xxx.xf.workday.contant.HolidayContant; /** * @Auth ...

  8. scrum项目冲刺_day10总结

    摘要:今日完成任务. 1.发布功能实现 2.导航还在进行 总任务: 一.appUI页面(已完成) 二.首页功能: 1.图像识别功能(已完成) 2.语音识别功能(已完成) 3.垃圾搜索功能(基本完成) ...

  9. 我下载了python所有包,用以备份,有需要的自提

    1.背景 我最近准备把1985年-2019年的全国30m分辨率土地利用数据按照地级市进行裁剪与归纳,这需要用到Geopandas对shp数据进行批量操作.在安装Geopandas的python包时,遇 ...

  10. Python爬虫之PySpider框架

    概述 pyspider 是一个支持任务监控.项目管理.多种数据库,具有 WebUI 的爬虫框架,它采用 Python 语言编写,分布式架构.详细特性如下: 拥有 Web 脚本编辑界面,任务监控器,项目 ...