vs2017 C++ 工程跨平台探索——Windows Subsystem for Linux(WSL安装)

352 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情。 写文章不易,阅读之前请给我点个赞吧~

本文主要讲述 Windows上的 vs2017 c++ 工程跨平台编译探索,此处的跨平台主要考虑Linux 和 windows。所以我们首先需要完成vs2017上面的相关配置,安装比较便捷轻量化的 Windows 自带的 Linux 子系统——WSL。

一、vs2017 相关配置

  • 首先需要确保 “Visual Studio Installer” 中其他工具集 使用 C++ 的 Linux 开发已经勾选

    image.png

二、安装 WSL

  • 控制面板\程序\程序和功能

    image.png

勾选适用于Linux的Windows子系统

image.png

image.png

  • 然后按照操作重启即可。

  • 进入应用商店(如果你科学上网了可能打不开,建议此处不要科学上网)

  • 搜索 ubuntu

    image.png

  • 这里安装 Ubuntu 20.04.5 LTS

    image.png

  • 为了方便后续使用我们把它固定到开始屏幕

  • 第一次打开将会初始化配置一些东西

    image.png

  • 你可以自行设置 username、密码完成配置

    image.png

三、修改软件源加速

  • 备份list文件

    cd /etc/apt/ 
    sudo cp sources.list sources.list.bak
    
  • 管理员权限,使用 vim 进行修改sources.list:

    sudo vim sources.list
    

    补充: vim 相关命令

    :w            - 保存文件,不退出 vim
    :w file       - 将修改另外保存到 file 中,不退出 vim
    :w!           - 强制保存,不退出 vim
    :wq           - 保存文件,退出 vim
    :wq!          - 强制保存文件,退出 vim
    :q            - 不保存文件,退出 vim
    :q!           - 不保存文件,强制退出 vim
    :e!           - 放弃所有修改,从上次保存文件开始再编辑
    
    • 全选(高亮显示):按esc后,然后ggvG或者ggVG
    • esc后,然后d进行删除
    • 粘贴(p)阿里云的镜像源
    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse 
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse 
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse 
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse 
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse 
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse 
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse 
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse 
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse 
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    
    • 强制保存文件,退出(:wq!
  • 更新软件列表 sudo apt-get update

  • 更新软件 sudo apt-get upgrade

  • 修改软件源过后速度将非常的快

四、编译c++代码准备

Visual Studio 中的 Linux 项目要求在远程 Linux 系统或 WSL 上安装以下依赖项:

  • 编译器 - Visual Studio 2019 及更高版本为 GCC 和 Clang 提供完整支持。
  • gdb - Visual Studio 会在 Linux 系统上自动启动 gdb,并使用 Visual Studio 调试器的前端在 Linux 上提供完全保真的调试体验。
  • rsync 和 zip - 包含 rsync 和 zip 允许 Visual Studio 将头文件从 Linux 系统提取到 Windows 文件系统以供 IntelliSense 使用。
  • make
  • openssh-server (仅适用于远程 Linux 系统)- Visual Studio 通过安全 SSH 连接以连接到远程 Linux 系统。
  • CMake(仅 CMake 项目)- 可以为 Linux 安装 Microsoft 的静态链接的 CMake 二进制文件
  • ninja-build (仅 CMake 项目)- Ninja 是 Visual Studio 2019 版本 16.6 或更高版本中适用于 Linux 和 WSL 配置的默认生成器。

执行下面的命令完成相关配置的安装

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